国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

MySQL Truncate用法詳解

瀏覽:2日期:2023-10-12 10:42:36

前言:

當我們想要清空某張表時,往往會使用truncate語句。大多時候我們只關心能否滿足需求,而不去想這類語句的使用場景及注意事項。本篇文章主要介紹truncate語句的使用方法及注意事項。

1.truncate使用語法

truncate的作用是清空表或者說是截斷表,只能作用于表。truncate的語法很簡單,后面直接跟表名即可,例如:truncate table tbl_name 或者 truncate tbl_name 。

執行truncate語句需要擁有表的drop權限,從邏輯上講,truncate table類似于delete刪除所有行的語句或drop table然后再create table語句的組合。為了實現高性能,它繞過了刪除數據的DML方法,因此,它不能回滾。盡管truncate table與delete相似,但它被分類為DDL語句而不是DML語句。

2.truncate與drop,delete的對比

上面說過truncate與delete,drop很相似,其實這三者還是與很大的不同的,下面簡單對比下三者的異同。

truncate與drop是DDL語句,執行后無法回滾;delete是DML語句,可回滾。 truncate只能作用于表;delete,drop可作用于表、視圖等。 truncate會清空表中的所有行,但表結構及其約束、索引等保持不變;drop會刪除表的結構及其所依賴的約束、索引等。 truncate會重置表的自增值;delete不會。 truncate不會激活與表有關的刪除觸發器;delete可以。 truncate后會使表和索引所占用的空間會恢復到初始大小;delete操作不會減少表或索引所占用的空間,drop語句將表所占用的空間全釋放掉。

3.truncate使用場景及注意事項

通過前面介紹,我們很容易得出truncate語句的使用場景,即該表數據完全不需要時可以用truncate。如果想刪除部分數據用delete,注意帶上where子句;如果想刪除表,當然用drop;如果想保留表而將所有數據刪除且和事務無關,用truncate即可;如果和事務有關,或者想觸發trigger,還是用delete;如果是整理表內部的碎片,可以用truncate然后再重新插入數據。

無論怎樣,truncate表都是高危操作,特別是在生產環境要更加小心,下面列出幾點注意事項,希望大家使用時可以做下參考。

truncate無法通過binlog回滾。 truncate會清空所有數據且執行速度很快。 truncate不能對有外鍵約束引用的表使用。 執行truncate需要drop權限,不建議給賬號drop權限。 執行truncate前一定要再三檢查確認,最好提前備份下表數據。

以上就是MySQL Truncate用法詳解的詳細內容,更多關于MySQL Truncate的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
主站蜘蛛池模板: 免费视频99 | 91精品国产高清久久久久久91 | 手机免费看毛片 | 99久久精品免费看国产高清 | 成 人 黄 色 免费网 | 亚洲第一网色综合久久 | 99精品国产综合久久久久 | 在线毛片一区二区不卡视频 | 欧美综合视频在线 | 美女黄色免费在线观看 | 久草在线视频在线 | 久草视频手机在线观看 | 成人一级网站 | 中文字幕综合在线 | aaa大片| 欧美成人性色生活片免费在线观看 | 成人国产精品视频频 | 日本一级做人免费视频 | 亚洲成人高清在线 | 久久精品国产精品亚洲综合 | 综合亚洲精品一区二区三区 | 91色老99久久九九爱精品 | 三级全黄视频 | 中文字幕曰韩一区二区不卡 | 日韩国产成人精品视频人 | 一级特黄国产高清毛片97看片 | a级毛片毛片免费观看永久 a级毛片毛片免费很很综合 | 大学生一级一片第一次免费 | 欧美三区在线观看 | 国产午夜精品不卡视频 | 99国产福利视频在线观看 | 中文字幕无线精品乱码一区 | 亲子乱子伦xxxxxinin | 老司机午夜性生免费福利 | 亚洲精品国产三级在线观看 | 一级不卡毛片免费 | 亚洲国产成人综合精品2020 | 亚洲精品国产高清不卡在线 | 在线观看免费毛片 | 四虎免费大片aⅴ入口 | 中文字幕在线播 |