5.1 DELETE FROM 語句

SQL 中最容易做的就是刪除數據。您可以非常快速地刪除所有內容,甚至沒有人會要求您進行任何確認。

讓我們從最簡單的場景開始:如何刪除表中的一行

這是您最常看到的場景,通常是刪除特定記錄,標準查詢通常如下所示:

DELETE FROM table
WHERE id = 133;

這是唯一一個不需要指定列名的查詢:畢竟,數據會立即按行刪除。

第二種情況是刪除 id 列表給出的行,這裡的一切也很簡單:

DELETE FROM table
WHERE id IN (1, 2, 3,);

第三種情況是刪除符合特定條件的行:

DELETE FROM table
WHERE condition;

比方說我們想解僱我們所有的程序員,那麼我們需要寫一個像這樣的請求:

DELETE FROM employee
WHERE occupation = 'Programmer';

最後,如果你想刪除所有記錄,你可以這樣寫一個查詢:

DELETE FROM table

這個簡單的查詢足以從表中刪除所有記錄。順便說一句,在這種情況下不會有 Ctrl + Z。錄音只是被刪除而無法恢復,僅此而已。因此,更頻繁地進行備份

5.2 刪除所有內容

為了快速刪除(讓用戶頭疼),SQL 多了幾個命令。

如何快速刪除一個表中的所有數據?使用運算符 TRUNCATE

TRUNCATE TABLE table

表名中的一個拼寫錯誤 - 並為您提供了幾天的數據恢復。很高興您不是數據庫管理員。

如果您不僅需要刪除表中的數據,還需要刪除表本身,那麼可以使用一個運算符 DROP

DROP TABLE table

順便說一句,數據庫模式也有類似的選項。如果要刪除數據庫本身,則:

DROP SCHEME database

或者:

DROP DATABASE database

您還可以使用 DROP 刪除:

  • 事件
  • 功能
  • 程序
  • 指數
  • 看法
  • 扳機

這裡有幾個與數據刪除相關的有趣故事:

休息日。由於系統管理員錯誤,GitLab 刪除了 300 GB 的客戶數據

sudo rm -rf,或 2017/01/31 的 GitLab.com 數據庫事件編年史

矽谷“矽谷”——數據刪除