5.1 DELETE FROM ステートメント
SQL で簡単に実行できるのは、データの削除です。すべてをすぐに削除でき、誰も確認を求めることもありません。
最も単純なシナリオ、つまりテーブル内の 1 行を削除する方法から始めましょう。
これは最も頻繁に見られるシナリオであり、通常は特定のレコードの削除であり、標準クエリは通常次のようになります。
DELETE FROM table
WHERE id = 133;
これは、列の名前を指定する必要がない唯一のクエリです。結局のところ、データは行ごとにすぐに削除されます。
2 番目のシナリオは、id list で指定された行を削除することです。ここでもすべてが非常に簡単です。
DELETE FROM table
WHERE id IN (1, 2, 3, …);
3 番目のシナリオは、特定の条件に一致する行を削除することです。
DELETE FROM table
WHERE condition;
すべてのプログラマーを解雇したいとします。その場合、次のようなリクエストを書く必要があります。
DELETE FROM employee
WHERE occupation = 'Programmer';
最後に、すべてのレコードを削除する場合は、次のようなクエリを作成できます。
DELETE FROM table
テーブルからすべてのレコードを削除するには、この単純なクエリで十分です。ちなみにこの場合Ctrl+Zはありません。録音は単に削除され、復元することはできません。それだけです。したがって、より頻繁にバックアップを作成してください。
5.2 すべてを削除する
迅速に削除できるように (ユーザーに頭痛の種を与えるため)、SQL にはさらにいくつかのコマンドがあります。
テーブル内のすべてのデータをすばやく削除するにはどうすればよいですか? 演算子を 使用しますTRUNCATE
。
TRUNCATE TABLE table
テーブル名のタイプミスが 1 つある場合は、数日間のデータ回復が提供されます。あなたがデータベース管理者でなくてよかったと思います。
テーブル内のデータだけでなくテーブル自体も削除する必要がある場合は、次の演算子 DROP
があります。
DROP TABLE table
ちなみに、データベース スキーマにも同様のオプションがあります。データベース自体を削除する場合は、次のようにします。
DROP SCHEME database
または:
DROP DATABASE database
DROP を使用して以下を削除することもできます。
- イベント
- 関数
- 手順
- 索引
- 意見
- 引き金
データ削除に関連した興味深い話をいくつか紹介します。
その日の休憩。GitLab がシステム管理者のエラーにより 300 GB の顧客データを削除
GO TO FULL VERSION