DELETE構文

DELETE文を使用すると、表から行を削除できます。

DELETE構文について

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table_name
       [WHERE where_definition]
       [ORDER BY ...]
       [LIMIT row_count]

または

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] table_name[.*] [, table_name[.*] ...]
       FROM table-references
       [WHERE where_definition]

または

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
       FROM table_name[.*] [, table_name[.*] ...]
       USING table-references
       [WHERE where_definition]

[LOW_PRIORITY][QUICK][IGNORE]は通常使うことは無いと思いますが紹介しておきます。

オプション意味
LOW_PRIORITY 他のクライアントによるそのテーブルからの読み取りがなくなるまで、
DELETEの実行は遅らされます。
注意: このオプションは通常 MyISAM テーブルに対しては使用しない。
QUICK削除処理の間、インデックスのマージを行わないので一部の削除操作では
処理速度が向上します。
IGNOREDELETEに失敗してもエラーを返しません。
LIMIT削除するレコード数を指定します。

よく使うDELETE構文

DELETE FROM テーブル名 [WHERE 条件式];

WHERE句を省略すると全てのレコードが対象になります。

全てのレコードを削除するには

DELETE FROM item;

特定のレコードを削除するには

DELETE FROM item WHERE item_id = 1;
[an error occurred while processing this directive]