Contents
DELETEクエリ
SQL DELETE Queryは、既存のレコードを表から削除するために使用されます。
DELETE問合せでWHERE句を使用すると、選択した行を削除できます。
構文
WHERE句を使用したDELETEクエリの基本的な構文は次のとおりです。
DELETE FROM table_name WHERE [condition];
AND演算子またはOR演算子を使用してN個の条件を組み合わせることができます。
例
次のレコードを持つCUSTOMERSテーブルを考えてみましょう。
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | 中塚 | 32 | Ahmedabad | 2000.00 | | 2 | 坂下 | 25 | Delhi | 1500.00 | | 3 | 吉田 | 23 | Kota | 2000.00 | | 4 | 環 | 25 | Mumbai | 6500.00 | | 5 | 津田 | 27 | Bhopal | 8500.00 | | 6 | 所沢 | 22 | MP | 4500.00 | | 7 | 裃 | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
次のコードには、IDが6の顧客を削除するクエリがあります。
SQL> DELETE FROM CUSTOMERS WHERE ID = 6;
CUSTOMERSテーブルには次のレコードがあります。6がなくなりましたね。
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | 中塚 | 32 | Ahmedabad | 2000.00 | | 2 | 坂下 | 25 | Delhi | 1500.00 | | 3 | 吉田 | 23 | Kota | 2000.00 | | 4 | 環 | 25 | Mumbai | 6500.00 | | 5 | 津田 | 27 | Bhopal | 8500.00 | | 7 | 裃 | 24 | Indore | 10000.00 | +----+----------+-----+-----------+----------+
CUSTOMERSテーブルからすべてのレコードを削除する場合は、WHERE句を使用する必要はなく、DELETEクエリは次のようになります。
SQL> DELETE FROM CUSTOMERS;
これを入力するとCUSTOMERSテーブルにはレコードがなくなりますので注意です