資料庫中DDL和DML的區別


任何處理資料庫的人都必須理解DDL和DML命令之間的區別,因為它會影響資料如何儲存、訪問和修改。

  • DDL是一組用於指定資料庫結構的命令。這些命令可用於建立、修改和刪除資料庫物件,包括表、檢視、索引和約束。DDL語句指定資料的組織和訪問方式,而不是修改儲存在資料庫中的資料。

  • 另一方面,DML是一組用於處理儲存在資料庫中的資料的命令。這些命令可用於插入、更新、刪除和檢索資料庫中的資料。DML語句修改儲存在資料庫中的資料,而不是資料庫的結構。

什麼是DDL命令?

DDL(資料定義語言)是一組用於指定資料庫結構的命令。DDL語句用於建立、修改和刪除資料庫物件,包括表、檢視、索引和約束。這些語句指定資料的組織和訪問方式,而不是操作儲存在資料庫中的資料。

例如,DDL語句包括:

  • CREATE TABLE − 用於在資料庫中建立一個新表。

  • ALTER TABLE − 用於修改資料庫中現有表的結構。

  • DROP TABLE − 用於從資料庫中刪除表及其所有資料。

  • CREATE INDEX − 用於在一個或多個表的列上建立索引。

  • CREATE VIEW − 用於基於查詢結果建立虛擬表。

資料庫管理員或開發人員在資料庫設計和維護期間經常執行DDL語句。這些語句對於確保資料庫結構清晰且適合有效的資料儲存和檢索至關重要。

DDL命令的用途

以下是DDL命令的用途:

  • 建立表 − 使用CREATE TABLE等DDL命令向資料庫新增新表。表指定將儲存在資料庫中的資料的列和資料型別。

  • 修改表 − 使用ALTER TABLE等DDL語句修改現有表的結構。例如,您可以更改列的資料型別、新增約束或向表中新增新列。

  • 刪除表 − 使用DROP TABLE等DDL命令從資料庫中刪除表。此操作還刪除表中的所有資料。

  • 建立索引 − 使用CREATE INDEX等DDL語句在一個或多個表的列上建立索引。索引可以提高查詢索引列中特定值的查詢的效能。

  • 建立檢視 − 使用CREATE VIEW等DDL命令基於查詢結果建立虛擬表。檢視有助於限制對特定資料列或行的訪問,並簡化複雜的查詢。

什麼是DML命令?

DML(資料操縱語言)是一組用於修改儲存在資料庫中的資料的命令。DML語句可用於插入、更新、刪除和檢索資料庫中表的資料。這些語句修改儲存在資料庫中的資料,而不是資料庫的結構。

例如,DML語句包括:

  • INSERT − 用於向表中新增新資料。

  • UPDATE − 用於修改表中現有資料。

  • DELETE − 用於從表中刪除資料。

  • SELECT − 用於從資料庫中的一個或多個表中檢索資料。

開發人員、分析師和終端使用者經常使用DML語句來修改資料庫中的資料。使用者可以使用這些語句根據需要新增、修改或刪除資料庫中的資料。使用DML語句,使用者可以根據需要更新資料,從資料庫中刪除過時或不相關的資料,並從大型資料集中檢索特定資料。

DML命令的用途

以下是DML命令的用途:

  • 資料插入 − 使用INSERT等DML命令向資料庫中的表新增新資料。可以使用此命令更新資料庫中的記錄。

  • 資料更新 − 使用UPDATE等DML命令修改表中現有資料。可以使用此命令更改表中特定列的值。

  • 資料刪除 − 使用DELETE等DML命令從表中刪除資料。可以使用此命令從資料庫中刪除過時或不相關的資料。

  • 資料檢索 − 使用SELECT等DML命令從資料庫中的一個或多個表中檢索資料。

  • 資料過濾 − 使用WHERE等DML命令過濾SELECT語句檢索到的資料。可以使用此命令僅檢索相關資料。

差異:資料庫管理系統(DBMS)中的DDL和DML命令

下表突出顯示了DBMS中DDL和DML命令的主要區別:

比較依據

DDL

DML

基礎

它處理資料如何在資料庫中儲存,並幫助定義資料庫的結構或模式。

它允許我們操作儲存在資料庫中的資料,包括檢索、更新和刪除。

全稱

這種語言的全稱是資料定義語言。

這種語言的全稱是資料操縱語言。

分類

DDL命令沒有進一步的分類。

DML命令分為宣告式和過程式(非過程式)DML。

命令用途

DDL語言下常用的命令是:

  • CREATE

  • DROP

  • ALTER

  • TRUNCATE

  • RENAME

DML語言下常用的命令是:

  • INSERT

  • UPDATE

  • DELETE

  • SELECT

自動提交

DDL命令會自動提交對資料庫所做的更改,使其永久生效。

資料庫修改是不可逆的,因為DML命令不會自動提交。

回滾

由於DDL命令使更改永久生效,因此我們無法撤消這些語句。

因為DML命令不會永久更改資料的狀態,所以它們允許回滾。

WHERE子句

DDL命令不使用WHERE子句,因為在這種情況下無法進行記錄過濾。

DML語句在修改資料庫中的資料時允許使用WHERE子句。

影響

DDL命令會影響整個資料庫或表。

DML命令將根據指定的條件影響單個或多個記錄。

結論

總之,任何處理資料庫的人都必須理解DDL和DML之間的區別。資料定義語言(DDL)用於定義資料庫的架構和結構,包括建立表和更改其屬性。資料操縱語言(DML)用於插入、更新和刪除記錄以及其他資料庫操作。

更新於:2023年9月12日

36K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告