DML語言,好比update,delete,insert等修改表中數據的須要commit;
DDL語言,好比create,drop等改變表結構的,就不須要寫commit(由於內部隱藏了commit);html
DDL 數據定義語言:
create table 建立表
alter table 修改表
drop table 刪除表
truncate table 刪除表中全部行
create index 建立索引
drop index 刪除索引
當執行DDL語句時,在每一條語句先後,oracle都將提交當前的事務。若是用戶使用insert命令將記錄插入到數據庫後,執行了一條DDL語句(如create
table),此時來自insert命令的數據將被提交到數據庫。當DDL語句執行完成時,DDL語句會被自動提交,不能回滾。
DML 數據操做語言:
insert 將記錄插入到數據庫
update 修改數據庫的記錄
delete 刪除數據庫的記錄
當執行DML命令若是沒有提交,將不會被其餘會話看到。除非在DML命令以後執行了DDL命令或DCL命令,或用戶退出會話,或終止實例,此時系統會自動
發出commit命令,使未提交的DML命令提交。數據庫