DDL (Data Definition Language 數據定義語言)
數據定義語言,用於定義和管理 SQL 數據庫中的所有對象的語言
1 2 3 4 5 6 |
|
當執行DDL語句時,在每一條語句前後,oracle都將提交當前的事務。
如果用戶使用insert命令將記錄插入到數據庫後,執行了一條DDL語句(如create table),此時來自insert命令的數據將被提交到數據庫。
當DDL語句執行完成時,DDL語句會被自動提交,不能回滾。
DML (Data Manipulation Language 數據操作語言)
1 2 3 |
|
當執行DML命令如果沒有提交,將不會被其他會話看到。
除非在DML命令之後執行了DDL命令或DCL命令,或用戶退出會話,或終止實例,此時系統會自動發出commit命令,使未提交的DML命令提交。
總結下二者區別:
DML是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對數據庫裏的數據進行操作的語言。
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用。