一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - 詳解MySQL中DROP,TRUNCATE 和DELETE的區別實現mysql從零開始

詳解MySQL中DROP,TRUNCATE 和DELETE的區別實現mysql從零開始

2019-10-22 14:15mysql教程網 Mysql

注意:這里說的delete是指不帶where子句的delete語句 相同點: truncate和不帶where子句的delete, 以及drop都會刪除表內的數據

不同點:

1.truncate和delete只刪除數據不刪除表的結構(定義)

drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger),索引(index);依賴于該表的

存儲過程/函數將保留,但是變為invalid狀態.

2.delete語句是dml,這個操作會放到rollbacksegement中,事務提交之后才生效;如果有相應的trigger,

執行的時候將被觸發.

truncate,drop是ddl,操作立即生效,原數據不放到rollbacksegment中,不能回滾.操作不觸發

trigger.

3.delete語句不影響表所占用的extent,高水線(highwatermark)保持原位置不動

顯然drop語句將表所占用的空間全部釋放

truncate語句缺省情況下見空間釋放到minextents個extent,除非使用reusestorage;truncate

會將高水線復位(回到最開始).

4.速度,一般來說:drop>truncate>delete

5.安全性:小心使用drop和truncate,尤其沒有備份的時候.否則哭都來不及.

使用上,想刪除部分數據行用delete,注意帶上where子句.回滾段要足夠大.

想刪除表,當然用drop

想保留表而將所有數據刪除.如果和事務無關,用truncate即可.如果和事務有關,或者想觸發trigger,還

是用delete.

如果是整理表內部的碎片,可以用truncate跟上reusestroage,再重新導入/插入數據/

實際應用:

deletefromtable;//刪除所有數據

truncatetable;//將auto_increatement調制從0開始,實際就是從1開始

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 风间由美理论片在线观看 | 黄瓜视频黄 | asianfemdom妍妍女王 | 国内精品久久久久久中文字幕 | 99撸| 国产亚洲精品高清在线 | 成人福利免费视频 | 国产精品自产拍在线观看2019 | 亚洲国产精品第一区二区三区 | 久久学生精品国产自在拍 | 波多 在线播放 | 北岛玲在线播放 | 青青视频国产依人在线 | 日韩成人一级 | xxx中国bbbwww| 久久噜国产精品拍拍拍拍 | 水多多www视频在线观看高清 | 国内精品在线播放 | 忘忧草秋观看未满十八 | 国产精品区一区二区免费 | 17个农民工婉莹第一部 | 国产欧美国产精品第一区 | 成人免费在线视频观看 | 操到翻白眼 | 80s在线| 精品国产免费久久久久久婷婷 | 成熟女人50岁一级毛片不卡 | 亚洲精品无码不卡 | 日本一区三区 | 牛牛影院成人免费网页 | 欧美三级不卡视频 | 成人一区二区丝袜美腿 | 十六以下岁女子毛片免费 | 日韩精品欧美高清区 | 国产免费视频 | 热99精品视频 | 动漫美女胸被狂揉扒开吃奶动态图 | 日韩在线二区全免费 | 日本无遮挡吸乳视频看看 | 亚洲xxxxxhd奶水女人 | xxx老妇人60 xxxx意大利xxxxhd |