DELETE ステートメントは、テーブルから行を削除するために使用されます。テーブルから特定の行を削除する場合は、WHERE 条件を使用する必要があります。
DELETE FROM table_name [WHERE condition];
ただし、WHERE 条件を指定しない場合は、テーブルからすべての行が削除されます。
DELETE FROM table_name;
DROP ステートメントや TRUNCATE ステートメントなど、DELETE ステートメントに似た用語が他にもいくつかありますが、それらは完全に同じではなく、いくつかの違いがあります。
DELETE ステートメントと TRUNCATE ステートメントの違い
delete ステートメントと truncate ステートメントには若干の違いがあります。の DELETE ステートメント WHERE 句で定義された条件に基づいてテーブルから行のみを削除するか、条件が指定されていない場合はテーブルからすべての行を削除します。
ただし、テーブルに含まれるスペースは解放されません。
の TRUNCATE ステートメント: テーブルからすべての行を削除するために使用されます そして収容スペースを解放します。
「従業員」テーブルを見てみましょう。
emp_id | 名前 | 住所 | 給料 |
---|---|---|---|
1 | アーリア人 | イラーハバード | 22000 |
2 | シュラビ | バラナシ | 13000 |
3 | パップ | デリー | 24000 |
次のクエリを実行してテーブルを切り詰めます。
TRUNCATE TABLE employee;
DROP ステートメントと TRUNCATE ステートメントの違い
Drop ステートメントを使用すると、テーブルの行がテーブルの定義とともに削除されるため、そのテーブルと他のテーブルとの関係はすべて無効になります。
テーブルを削除すると、次のようになります。
- テーブル構造は削除されます
- 関係が切れてしまいます
- 整合性制約は削除されます
- アクセス権限も剥奪される
一方、私たちが 切り詰める テーブルの場合、テーブル構造は同じままであるため、上記の問題は発生しません。