2016-02-02 123 views
1

我正在瀏覽SQL中的不同命令,並且遇到了被稱爲DDL(數據定義語言)的alter命令。我們可以改變它的列和值,所以我們可以用這個命令來處理數據,爲什麼alter命令不被稱爲DML(數據操作語言)。爲什麼alter命令被稱爲DDL而不是DML?

我用Google搜索了一下,但是我找不到一些很好的解釋,所以請幫助我。

+0

「ALTER TABLE」更改表的_structure_,因此它是DDL –

回答

3

ALTER命令用於更改數據庫的結構。這就是DDL所做的,即DDL語句用於定義數據庫結構或模式。

而DML語句用於管理架構對象中的數據。

1

DDL - 更改模式

這包括創建表,重命名列,刪除視圖等。這些語句是DDL,即使這樣可能會創建(默認值),更改(通過轉換),甚至丟失(刪除列)數據作爲過程的一部分。基本上,任何CREATE/DROP/ALTER命令都是DDL。

DML - 在模式內改變信息/數據; 沒有更新架構。

這包括DELETEUPDATE陳述。

有時DDL和DML必須一起使用才能正確遷移模式;但它們是兩個不同的SQL命令類別,而DML從不會導致模式發生更改。

0

「數據」是通過經由DDL用戶定義的表中的數據。 「元數據」是由DBMS預先定義的表格中描述表格的數據(它們本身和用戶定義的)。因此,DML 在用戶表中操作數據或(通常僅)從系統表中讀取元數據,而DDL 定義(CREATE,ALTER,DROP)用戶表並作爲副作用更新系統表中的元數據。

相關問題