(十二)简单说一说drop、delete与truncate的区别
生活随笔
收集整理的這篇文章主要介紹了
(十二)简单说一说drop、delete与truncate的区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
SQL中的drop、delete、truncate都表示刪除,但是三者有一些差別:
- Delete用來(lái)刪除表的全部或者一部分?jǐn)?shù)據(jù)行,執(zhí)行delete之后,(操作會(huì)記錄在日志中)用戶需要提交(commmit)或者回滾(rollback)來(lái)執(zhí)行刪除或者撤銷刪除, delete命令會(huì)觸發(fā)這個(gè)表上所有的delete觸發(fā)器;
觸發(fā)器種類有insert、update、delete
- Truncate刪除表中的所有數(shù)據(jù),這個(gè)操作不能回滾,也不會(huì)觸發(fā)這個(gè)表上的觸發(fā)器,TRUNCATE比delete更快,占用的空間更小;
- Drop命令從數(shù)據(jù)庫(kù)中刪除表,所有的數(shù)據(jù)行,索引和權(quán)限也會(huì)被刪除,所有的DML觸發(fā)器也不會(huì)被觸發(fā),這個(gè)命令也不能回滾。
因此,在不再需要一張表的時(shí)候,用drop;在想刪除部分?jǐn)?shù)據(jù)行時(shí)候,用delete;在保留表而刪除所有數(shù)據(jù)的時(shí)候用truncate。
?
(功能、是否能回滾、是否觸發(fā)觸發(fā)器)
總結(jié)
以上是生活随笔為你收集整理的(十二)简单说一说drop、delete与truncate的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 机械秒表的使用方法_秒表的使用方法!
- 下一篇: 【JS组件系列】——表格组件神器:boo