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) 命令。

更新於: 2023 年 2 月 21 日

16K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.