SQL

【SQL】DELETE文の書き方(レコードの削除)

2021年2月8日

DELETE文の基本構文

SQLのDELETE文を使えば、テーブルのレコード(1行分のデータ)を削除できます。

DELETE文の基本構文

DELETE  FROM  テーブル名  WHERE  条件;

※削除条件を指定しない場合は「WHERE 条件」は不要

本記事では、DELETE文を用いてテーブルのレコードを削除する方法について解説します。

スポンサーリンク

DELETE文の書き方

条件を指定してテーブルのレコードを削除する

それでは、DELETE文を用いて「item」テーブルの指定したレコードを削除します。

今回の例では、「id = 5」のレコードを削除しています。

■削除前の「item」テーブル

> SELECT * FROM item;
+----+--------+-------+----------+
| id | name   | price | category |
+----+--------+-------+----------+
|  1 | 商品A  |  1980 | 書籍     |
|  2 | 商品B  |  4980 | 家具     |
|  3 | 商品C  |  7200 | 家具     |
|  4 | 商品D  |   500 | 書籍     |
|  5 | 新商品 |  1500 | 雑貨     |
+----+--------+-------+----------+
5 rows in set (0.03 sec)

■DELETE文の例(id = 5のレコードを削除)

DELETE FROM item
WHERE id = '5'

■削除前の「item」テーブル

> SELECT * FROM item;
+----+-------+-------+----------+
| id | name  | price | category |
+----+-------+-------+----------+
|  1 | 商品A |  1980 | 書籍     |
|  2 | 商品B |  4980 | 家具     |
|  3 | 商品C |  7200 | 家具     |
|  4 | 商品D |   500 | 書籍     |
+----+-------+-------+----------+
4 rows in set (0.01 sec)

DELETE文を実行した結果、条件に指定した「id = 5」のレコードが削除されました。

すべてのレコードを削除

続いてはDELETE文を用いて「item」テーブルのすべてのレコードを削除します。

■削除前の「item」テーブル

> SELECT * FROM item;
+----+-------+-------+----------+
| id | name  | price | category |
+----+-------+-------+----------+
|  1 | 商品A |  1980 | 書籍     |
|  2 | 商品B |  4980 | 家具     |
|  3 | 商品C |  7200 | 家具     |
|  4 | 商品D |   500 | 書籍     |
+----+-------+-------+----------+
4 rows in set (0.01 sec)

■DELETE文の例(すべてのレコードを削除)

DELETE FROM item;

■削除後の「item」テーブル

> SELECT * FROM item;
Empty set (0.00 sec)

DELETE文を実行した結果、すべてのレコードが削除されました。

helpful