想知道create是否需要commit,你需要了解這些基本的資料庫sql語言的知識。
DDL:資料庫定義語言,用來建立資料庫,建立表格等。
DML:資料庫管理語言,如增刪改查語句等 。
DCL:資料庫操作語言,如修改資料庫系統權限。
DQL:資料查詢語言,如模糊查詢,連接查詢。
這裡就DML,DDL進行一個比較。
DML語言,例如update,delete,insert等修改表中資料的需要commit;
DDL語言,例如create,drop等改變表結構的,就不需要寫commit(因為內部隱藏了commit);
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指令提交。
以上是create需要commit麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!