【DB:結合・レコード】追加/更新/削除の方法

テーブル結合について

2つを1つに

テーブルの結合とは、重複したデータのテーブルを分割しておいて、必要に応じて、仮想的な1つの表として連結して扱う方法。
このようにテーブルを結合することを「リレーション」とか「連結」「関連付け」と呼ぶ場合もある。

■players テーブル
f:id:aruku-hito:20191122210905p:plain

■jobs テーブル
f:id:aruku-hito:20191122210920p:plain

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();
?>