1. 程式人生 > >DDL與DML的區別

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)的結構,資料型別,表之間的連結和約束等初始化工作上,他們大多在建立表時使用。