DDL與DML的區別

DDL (Data Definition Language 數據定義語言)

數據定義語言,用於定義和管理 SQL 數據庫中的所有對象的語言

1

2

3

4

5

6

create table 創建表     

alter table  修改表   

drop table 刪除表   

truncate table 刪除表中所有行     

create index 創建索引   

drop index  刪除索引

當執行DDL語句時,在每一條語句前後,oracle都將提交當前的事務。

如果用戶使用insert命令將記錄插入到數據庫後,執行了一條DDL語句(如create table),此時來自insert命令的數據將被提交到數據庫。

當DDL語句執行完成時,DDL語句會被自動提交,不能回滾。 

DML (Data Manipulation Language 數據操作語言) 

1

2

3

insert 將記錄插入到數據庫 

update 修改數據庫的記錄 

delete 刪除數據庫的記錄

當執行DML命令如果沒有提交,將不會被其他會話看到。

除非在DML命令之後執行了DDL命令或DCL命令,或用戶退出會話,或終止實例,此時系統會自動發出commit命令,使未提交的DML命令提交。

 

總結下二者區別:

DML是SELECT、UPDATE、INSERT、DELETE,就象它的名字一樣,這4條命令是用來對數據庫裏的數據進行操作的語言。

DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定義或改變表(TABLE)的結構,數據類型,表之間的鏈接和約束等初始化工作上,他們大多在建立表時使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章