テーブルの行を削除するにはDELETE文を使用します。
- DELETE基本構文
- DELETE FROM <テーブル名> WHERE <条件式>;
行を対象に操作するという点では、更新を行うUPDATE文と同じであり、構文も似ています。UPDATE文と同じく、WHERE句で条件を指定して、特定の行を削除するというのが一般的です。WHERE句を指定しないと全行削除されます。
実際にDELETE文を用いてデータを削除してみましょう。
> DELETE FROM stuff WHERE name = '加藤';
WHERE句で指定した条件に基づいて行を削除します。上記例では「name」列が「加藤」となる行を削除しています。上述のとおりWHERE句を指定しなければ、そのテーブルの全行を削除されます。
TRANCATE文との違い
テーブルからデータを削除する方法として、上記のDELETE文とは別にTRUNCATE(トランケート)文が用意されています。
TRANCATE文はDELETE文と違い、WHERE句で条件を指定して、一部の行だけを削除するということはできません。必ずテーブル全行が削除されます。そのため、基本構文も非常にシンプルとなります。
- TRANCATE基本構文
- TRANCATE <テーブル名>;
一般的に全行削除するのであれば、DELETE文よりTRUNCATE文の方が高速です。
