DELETE 構文

メモ:  Category:mysql

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 削除処理の間、インデックスのマージを行わないので一部の削除操作では処理速度が向上します。
IGNORE DELETEに失敗してもエラーを返しません。
LIMIT 削除するレコード数を指定します。

よく使うDELETE構文

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

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

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

DELETE FROM item;

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

DELETE FROM item WHERE item_id = 1;

bluenote by BBB