身為經驗豐富的開發人員,對於DDL、DML、DCL、TCL這些縮寫詞(名詞)或許不會陌生,但是作為億i個程式開發的新手可能就會有很多迷惑,接下來就給大家詳細解釋下,希望對讀者有一定的幫助。
1、資料定義語言DDL
DDL((Data Definition Language):主要的命令有CREATE、ALTER、DROP等,用於定義/修改/刪除資料對象(如表)的資料結構、資料類型、表之間的連結和約束等初始化工作,大多在建立表時使用,或者說,DDL語言操作的對像是資料庫中的對象而非物件所包含的資料。 Mysql)都會提交目前的交易。時,DDL語句會自動提交,不能回滾。例如SELECT、UPDATE、INSERT、DELETE、MERGE操作,是用來對資料庫裡的表格資料進行操作的語言。 ## 當執行DML指令如果沒有提交,將不會被其他會話看到。使未提交的DML指令提交。 revoke等)。操作。
1、CREATE : 在数据库中创建新的数据对象 2、ALTER : 修改数据库中对象的数据结构 3、DROP : 删除数据库中的对象 4、DISABLE/ENABLE TRIGGER : 修改触发器的状态 5、UPDATE STATISTIC : 更新表/视图统计信息 6、TRUNCATE TABLE : 清空表中数据 7、COMMENT : 给数据对象添加注释 8、RENAME : 更改数据对象名称由於DML語句對錶資料進行操作的時候都會加上行級鎖,確認完成後,必須加上事物處理結束的命令COMMIT才能正式生效,否則改變不一定寫入資料庫裡。操作, 可以用指令ROLLBACK 復原。
在執行INSERT,DELETE和UPDATE語句前最好估算一下可能操作的記錄範圍,應該把它限定在較小範圍內,例如一萬筆記錄,否則ORACLE處理這個事物用到很大的回退段。程式響應慢甚至失去響應。如果記錄數上十萬以上這些操作。可以把這些SQL語句分段分次完成。其間加上COMMIT確認事物處理。
唯一需要注意的是TRUNCATE,儘管從功能上看相當於DELETE表中所有數據,但由於它所操作的對像是table這個級別而非row(由於某種原因不能立即刪除表數據時,TRUNCATE會鎖定整張表,而DELETE鎖定的則是row),所以歸在DDL。
以上是關於概念DDL、DML、DCL、TCL詳細解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!