logo

SQL テーブルの削除

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 ステートメントを使用すると、テーブルの行がテーブルの定義とともに削除されるため、そのテーブルと他のテーブルとの関係はすべて無効になります。

テーブルを削除すると、次のようになります。

  • テーブル構造は削除されます
  • 関係が切れてしまいます
  • 整合性制約は削除されます
  • アクセス権限も剥奪される

一方、私たちが 切り詰める テーブルの場合、テーブル構造は同じままであるため、上記の問題は発生しません。