SQL 中 DELETE 和 DROP 的區別
DELETE 是資料操縱語言 (DML) 命令。它用於從關係/表中刪除元組/記錄。另一方面,DROP 是資料定義語言 (DDL) 命令,用於刪除模式的命名元素,如關係/表、約束或整個模式。
閱讀本文以瞭解更多關於 SQL 中 DELETE 和 DROP 命令的資訊,以及它們之間有何不同。
什麼是 SQL 中的 DELETE?
在 SQL 中,DELETE 命令用於刪除資料庫表中的一些或所有記錄。使用 DELETE 命令,WHERE 子句用於定義篩選條件,以便它可以僅從表中刪除選定的記錄。
執行 DELETE 命令時,會在事務日誌中建立日誌檔案。如果我們錯誤地刪除了記錄,我們可以使用 ROLLBACK 命令檢索該記錄。但是,ROLLBACK 命令只能在 COMMIT 命令之前使用。
語法
DELETE from table_name where condition;
什麼是 SQL 中的 DROP?
在 SQL 中,DROP 命令用於刪除模式的命名元素,如表、約束或整個模式本身。由於 DROP 命令完全刪除資料,因此它釋放記憶體空間。此外,一旦執行 DROP 命令,就無法回滾。
語法
DROP table_name;
現在,讓我們詳細討論 DELETE 和 DROP 之間的區別。
SQL 中 DELETE 和 DROP 的區別
以下是 SQL 中 DELETE 和 DROP 之間的重要區別:
關鍵 |
DELETE |
DROP |
|---|---|---|
目的 |
DELETE 命令刪除關係/表中的一些或所有元組/記錄。 |
DROP 命令刪除模式的命名元素,如關係/表、約束或整個模式。 |
語言 |
DELETE 是 DML 命令。 |
DROP 是 DDL 命令。 |
子句 |
使用 WHERE 子句新增篩選。 |
沒有 WHERE 子句可用。 |
回滾 |
DELETE 命令可以回滾,因為它作用於資料緩衝區。 |
DROP 命令不能回滾,因為它直接作用於資料。 |
記憶體空間 |
如果使用 DELETE 命令刪除所有記錄,則表記憶體空間不會被釋放。 |
DROP 命令釋放記憶體空間。 |
問題 |
DELETE 命令可能會遇到記憶體不足的情況。 |
DROP 命令可能會導致記憶體碎片。 |
互動 |
SQL 直接與資料庫伺服器互動。 |
PL/SQL 不直接與資料庫伺服器互動。 |
方向 |
SQL 是面向資料的語言。 |
PL/SQL 是面向應用程式的語言。 |
目標 |
SQL 用於編寫查詢、建立和執行 DDL 和 DML 語句。 |
PL/SQL 用於編寫程式塊、函式、過程、觸發器和包。 |
結論
您應該注意到的最顯著的區別是 DELETE 是資料操縱語言 (DML) 命令,而 DROP 是資料定義語言 (DDL) 命令。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP