0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Truncate的用法和注意事項

汽車玩家 ? 來源:MySQL技術 ? 作者:MySQL技術 ? 2020-05-05 22:25 ? 次閱讀

前言:

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

1.truncate使用語法

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

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

2.truncate與drop,delete的對比

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

truncate與drop是DDL語句,執(zhí)行后無法回滾;delete是DML語句,可回滾。

truncate只能作用于表;delete,drop可作用于表、視圖等。

truncate會清空表中的所有行,但表結構及其約束、索引等保持不變;drop會刪除表的結構及其所依賴的約束、索引等。

truncate會重置表的自增值;delete不會。

truncate不會激活與表有關的刪除觸發(fā)器;delete可以。

truncate后會使表和索引所占用的空間會恢復到初始大?。籨elete操作不會減少表或索引所占用的空間,drop語句將表所占用的空間全釋放掉。

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

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

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

truncate無法通過binlog回滾。

truncate會清空所有數(shù)據且執(zhí)行速度很快。

truncate不能對有外鍵約束引用的表使用。

執(zhí)行truncate需要drop權限,不建議給賬號drop權限。

執(zhí)行truncate前一定要再三檢查確認,最好提前備份下表數(shù)據。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • DDL
    DDL
    +關注

    關注

    0

    文章

    13

    瀏覽量

    6456
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    掃描電鏡的日常維護有哪些注意事項?

    掃描電鏡日常維護的注意事項
    的頭像 發(fā)表于 03-24 11:38 ?411次閱讀
    掃描電鏡的日常維護有哪些<b class='flag-5'>注意事項</b>?

    智多晶DDR Controller使用注意事項

    最后一期我們主要介紹智多晶DDR Controller使用時的注意事項
    的頭像 發(fā)表于 01-24 11:14 ?645次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項</b>

    AN20-儀表低通濾波器的應用注意事項

    電子發(fā)燒友網站提供《AN20-儀表低通濾波器的應用注意事項.pdf》資料免費下載
    發(fā)表于 01-12 11:25 ?0次下載
    AN20-儀表低通濾波器的應用<b class='flag-5'>注意事項</b>

    多層板埋孔設計注意事項

    多層板埋孔設計注意事項
    的頭像 發(fā)表于 12-20 16:06 ?746次閱讀

    PCBA生產注意事項

    ? ?PCBA生產注意事項。 長按識別二維碼關注[現(xiàn)代電子裝聯(lián)工藝技術]訂閱號,開啟我們共同的學習之旅 end
    的頭像 發(fā)表于 11-15 17:04 ?800次閱讀
    PCBA生產<b class='flag-5'>注意事項</b>

    TPA3140D2 EMC設計注意事項

    電子發(fā)燒友網站提供《TPA3140D2 EMC設計注意事項.pdf》資料免費下載
    發(fā)表于 10-26 11:02 ?0次下載
    TPA3140D2 EMC設計<b class='flag-5'>注意事項</b>

    如何為住宅配置靜態(tài)IP:步驟與注意事項

    為住宅配置靜態(tài)IP地址,通常涉及以下步驟和注意事項。
    的頭像 發(fā)表于 10-24 08:02 ?895次閱讀

    TMS320DM644x熱注意事項

    電子發(fā)燒友網站提供《TMS320DM644x熱注意事項.pdf》資料免費下載
    發(fā)表于 10-16 11:35 ?0次下載
    TMS320DM644x熱<b class='flag-5'>注意事項</b>

    TPS65233、TPS65235的LNB設計注意事項

    電子發(fā)燒友網站提供《TPS65233、TPS65235的LNB設計注意事項.pdf》資料免費下載
    發(fā)表于 10-08 09:58 ?4次下載
    TPS65233、TPS65235的LNB設計<b class='flag-5'>注意事項</b>

    脈沖式充電器的使用注意事項

    脈沖式充電器的使用注意事項主要包括以下幾個方面: 一、安全注意事項 用電安全 :在充電過程中,應始終保持警惕,注意用電安全,避免觸電和短路等危險情況的發(fā)生。 防火防災 :避免在易燃易爆物品附近進行
    的頭像 發(fā)表于 09-26 16:05 ?2297次閱讀

    智能高端開關的故障和正常診斷注意事項

    電子發(fā)燒友網站提供《智能高端開關的故障和正常診斷注意事項.pdf》資料免費下載
    發(fā)表于 09-24 10:45 ?0次下載
    智能高端開關的故障和正常診斷<b class='flag-5'>注意事項</b>

    繞線電感定制的注意事項

    電子發(fā)燒友網站提供《繞線電感定制的注意事項.docx》資料免費下載
    發(fā)表于 09-20 11:24 ?4次下載

    共模電感定制的注意事項

    電子發(fā)燒友網站提供《共模電感定制的注意事項.docx》資料免費下載
    發(fā)表于 09-04 11:47 ?0次下載

    LiFePO4設計注意事項

    電子發(fā)燒友網站提供《LiFePO4設計注意事項.pdf》資料免費下載
    發(fā)表于 09-03 09:24 ?0次下載
    LiFePO4設計<b class='flag-5'>注意事項</b>

    人機接口電感式觸摸按鈕的設計注意事項

    電子發(fā)燒友網站提供《人機接口電感式觸摸按鈕的設計注意事項.pdf》資料免費下載
    發(fā)表于 08-30 09:30 ?2次下載
    人機接口電感式觸摸按鈕的設計<b class='flag-5'>注意事項</b>

    電子發(fā)燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品