今回はレコードの更新と削除について勉強していきます。
更新というのは、レコードを変更したりすることを指しています。
UPDATEと呼ばれる操作をするため題名を変更ではなく、更新としました。
例えば、
UPDATE table_name SET name='変更後' WHERE name='変更前';
というSQL文は、table_nameというテーブルのnameカラムが変更前となっている部分を変更後に変えるという意味を持ちます。
ふつうは、where句の後にはidを指定します。
なぜならば変えたい部分の他にも'変更前'という値が格納されている可能性があるためです。
UPDATE テーブル名 SET カラム名1=値1, カラム名2=値2… WHERE 条件式;
条件式で指定された行の、カラム名1に値1を格納する
、という意味です。
また、カラムは複数続けて指定する事ができます。
※
whereを指定しないと全ての値が変更されてしまいます。変更された値をもとに戻す事は出来ないので注意が必要です。
DELETE FROM table_name WHERE id=3;
とすると、id=3のレコードが削除されます。
こちらももとに戻す事が出来ないので注意が必要です。
DELETE FROM テーブル名 WHERE 条件式;
となります。
しかし掲示板などでphpとデータベースをリンクさせたい場合には普通deleteを使いません。
status columnというカラムを作っておいて削除ボタンで、status columnの値を変更するというやり方をとります。
statusが2で公開、言い換えればstatusが2のもののみをページに表示させ、1は下書き、0のものは非表示というような設定にします。
SQL文において基本となるのは、4つ。
insert(新しくレコード(行)を挿入) select(レコードを呼び出す) update(レコードを変更する) delete(レコードを削除する)
なかでもphpでシステムを作る時は上の3つを使い分けていく。
以上