データベース初心者必見!入門編その13〜DELETE文によるデータの削除〜
2015/08/31
はじめに
今回は、入門編その1、入門編その2、入門編その3、入門編その4、入門編その5、入門編その6、入門編その7、入門編その8、入門編その9、入門編その10,入門編その11、入門編その12の続きです。
今回も前回同様にFoodテーブルを使って、テーブルに登録されているデータの内容を削除します。
foodテーブル
データの削除
テーブルのデータを削除するにはDELETE文を使用します。
foodテーブルからfood_name列の値が「りんご」の値を削除します。
[sql]DELETE FROM food WHERE food_name=”りんご” [/sql]
実行結果
foodテーブルの中身を参照
SQL発行後、foodテーブルの中には「りんご」のデータが見当たりません。削除ことができました。
DELETE FROMの後にテーブル名、WHERE句に削除するデータの条件を記述することでデータを削除することができます。
今回は1件のデータの削除しましたが、WHERE句に一致する行が複数あった場合には、それらすべての行が削除されます。
また、WHERE句を記述せずに「DELETE FROM food」でSQLを発行した場合には、foodテーブルのすべての行が削除されます。
複数の条件を指定したデータの削除
今度は、条件が一つではなく、いくつか条件が指定した場合のデータの削除を行います。
ここでは、WHERE句で複数の条件を指定しています。
例として、food_stock列の値が10のものかつ、ctg_id列の値が3のもの、つまりfood_name列が値が「ラーメン」を削除します。WHERE句の中出複数の条件は指定する場合はAND句を使います。
[sql]DELETE FROM food WHERE food_stock=10 AND ctg_id=5[/sql]
実行結果
foodテーブルの中身を参照
複数の条件を指定してテーブルの値を削除することができました。同じ条件のものがあれば、そちらのデータも削除されます。今回は、たまたま「ラーメン」のみが削除されました。
複数のSQLをまとめて実行する
任意のデータを一行一行、SQLを発行するのは、手間がかかります。そんな時には、「;」でSQLまとめて書いて実行してしまいましょう。
今回は、foodテーブルの「つけ麺」以外のデータを削除します。他にももっとスマートに出来る方法がありますが、ここではこういったこともできると覚えておいて下さい。
[sql]
DELETE FROM food WHERE food_name =”りんご”;
DELETE FROM food WHERE food_name =”ラーメン”;
DELETE FROM food WHERE food_name =”冷やし中華”;
DELETE FROM food WHERE food_name =”トマト”;
[/sql]
実行結果
foodテーブルの中身を参照
つけ麺以外のデータがすべて削除されました。
SQLまとめて実行したい場合は、「;」でつないで複数の行にしてしまいましょう。
最後に
今回は、テーブルからデータを削除する方法について紹介いたしました、
テーブルのデータの操作は基本的には、INSERT分、UPDATE、DELETE分で行えます。
次回は初級編一旦打ち切りにしまして、中級編に入ります。
題目はデータ制御言語(DCL:DateContorolLanguage)とトランザクションについて紹介いたします。
引き続きご愛読よろしくお願いいたします。