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 的客戶數據
GO TO FULL VERSION