【DB:結合・レコード】追加/更新/削除の方法
テーブル結合について
2つを1つに
テーブルの結合とは、重複したデータのテーブルを分割しておいて、必要に応じて、仮想的な1つの表として連結して扱う方法。
このようにテーブルを結合することを「リレーション」とか「連結」「関連付け」と呼ぶ場合もある。
■players テーブル
■jobs テーブル
SELECT :テーブルの指定範囲
LIFT JOIN :の後に追加テーブル名を記述
ON :結合の共通カラムを=で結ぶ
<?php $sql = 'SELECT* FROM players LIFT JOIN jobs ON players.job_Id = jobs.id '; ?>
レコード情報について
追加(INSERT INTO)
<?php //以下のレコード情報を追加したい。 $name = 'Nakamura'; $level = 8; $job_id = 2; $sql = 'INSERT INTO players (name,level,job_id) VALUES(:name,:level,:job_id)'; $statement = $pdo->prepare($sql); $statement->bindValue(':name', $name, PDO::PARAM_STR); $statement->bindValue(':level', $level, PDO::PARAM_INT); $statement->bindValue(':job_id', $job_id, PDO::PARAM_INT); $statement->execute(); ?>
INSERT INTOの後に テーブル名>カラム名 を記述
そのあとに、値を入れるが変数はNGなので仮で「:〇〇」を追加データ分記述して、それぞれbindValueで変数を代入してあげる。
更新(UPDATE 「テーブル名」SET「更新情報」WHERE 「id指定」)
1.idを指定
2.どのカラムをなんの情報に上書きするかを記述
<?php $sql = 'UPDATE players SET level = 10 WHERE id = 11'; $statement = $pdo->prepare($sql); $statement->execute(); ?>
削除(DELETE)
<?php $sql = 'DELETE FROM players WHERE id = 11'; $statement = $pdo->prepare($sql); $statement->execute(); ?>