婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL Truncate用法詳解

MySQL Truncate用法詳解

熱門標簽:廣東400企業電話申請流程 地圖標注客戶付款 石家莊400電話辦理公司 宜賓全自動外呼系統廠家 新鄉智能外呼系統好處 咸陽防封電銷卡 臨沂做地圖標注 許昌外呼增值業務線路 申請400電話電話價格

刪除表中的數據的方法有delete,truncate, 其中TRUNCATE TABLE用于刪除表中的所有行,而不記錄單個行刪除操作。TRUNCATE TABLE 與沒有 WHERE 子句的 DELETE 語句類似;但是,TRUNCATE TABLE 速度更快,使用的系統資源和事務日志資源更少。下面介紹SQL中Truncate的用法

當你不再需要該表時, 用 drop;當你仍要保留該表,但要刪除所有記錄時, 用 truncate;當你要刪除部分記錄時(always with a WHERE clause), 用 delete.

Truncate是一個能夠快速清空資料表內所有資料的SQL語法。并且能針對具有自動遞增值的字段,做計數重置歸零重新計算的作用。

MySQL Truncate用法

一、Truncate語法

[ { database_name.[ schema_name ]. | schema_name . } ]
table_name
[ ; ]

參數

database_name
數據庫的名稱。

schema_name
表所屬架構的名稱。

table_name
要截斷的表的名稱,或要刪除其全部行的表的名稱。

二、Truncate使用注意事項

1、TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日志資源少。

2、DELETE 語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。TRUNCATE TABLE 通過釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放。

3、TRUNCATE TABLE 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。如果要刪除表定義及其數據,請使用 DROP TABLE 語句。

4、對于由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由于 TRUNCATE TABLE 不記錄在日志中,所以它不能激活觸發器。

5、TRUNCATE TABLE 不能用于參與了索引視圖的表。

6、對用TRUNCATE TABLE刪除數據的表上增加數據時,要使用UPDATE STATISTICS來維護索引信息。

7、如果有ROLLBACK語句,DELETE操作將被撤銷,但TRUNCATE不會撤銷。

三、不能對以下表使用 TRUNCATE TABLE

1、由 FOREIGN KEY 約束引用的表。(您可以截斷具有引用自身的外鍵的表。)

2、參與索引視圖的表。

3、通過使用事務復制或合并復制發布的表。

4、對于具有以上一個或多個特征的表,請使用 DELETE 語句。

5、TRUNCATE TABLE 不能激活觸發器,因為該操作不記錄各個行刪除。

四、TRUNCATE、Drop、Delete區別

1.drop和delete只是刪除表的數據(定義),drop語句將刪除表的結構、被依賴的約束(constrain)、觸發器 (trigger)、索引(index);依賴于該表的存儲過程/函數將保留,但是變為invalid狀態。
2.delete語句是DML語言,這個操作會放在rollback segement中,事物提交后才生效;如果有相應的觸發器(trigger),執行的時候將被觸發。truncate、drop是DDL語言,操作后即 生效,原數據不會放到rollback中,不能回滾,操作不會觸發trigger。

3.delete語句不影響表所占用的extent、高水線(high watermark)保持原位置不動。drop語句將表所占用的空間全部釋放。truncate語句缺省情況下將空間釋放到minextents的 extent,除非使用reuse storage。truncate會將高水線復位(回到最初)。

4.效率方面:drop > truncate > delete

5.安全性:小心使用drop與truncate,尤其是在 沒有備份的時候,想刪除部分數據可使用delete需要帶上where子句,回滾段要足夠大,想刪除表可以用drop,想保留表只是想刪除表的所有數據、 如果跟事物無關可以使用truncate,如果和事物有關、又或者想觸發 trigger,還是用delete,如果是整理表內部的碎片,可以用truncate跟上reuse stroage,再重新導入、插入數據。

6.delete是DML語句,不會自動提交。drop/truncate都是DDL語句,執行后會自動提交。

7、drop一般用于刪除整體性數據 如表,模式,索引,視圖,完整性限制等;delete用于刪除局部性數據 如表中的某一元組

8、DROP把表結構都刪了;DELETE只是把數據清掉

9、當你不再需要該表時, 用 drop;當你仍要保留該表,但要刪除所有記錄時, 用 truncate;當你要刪除部分記錄時(always with a WHERE clause), 用 delete.

MYSQL中TRUNCATE和DELETE的區別

MYSQL中TRUNCATE和DELETE都能夠清理表中的數據,但是他們有什么區別呢?我們從下面的幾點來分析:

1. 條件刪除

這個比較好理解,因為DELETE是可以帶WHERE的,所以支持條件刪除;而TRUNCATE只能刪除整個表。

# delete - 條件刪除
DELETE FROM student WHERE id = 1;
# delete - 刪除整個表的數據
DELETE FROM student;
# truncate - 刪除整個表的數據
TRUNCATE TABLE student;

2. 事務回滾

由于DELETE是數據操作語言(DML - Data Manipulation Language),操作時原數據會被放到 rollback segment中,可以被回滾;而TRUNCATE是數據定義語言(DDL - Data Definition Language),操作時不會進行存儲,不能進行回滾。

可以看到DELETE是可以回滾成功的。

可以看到TRUNCATE是不能回滾成功的。

3. 清理速度

在數據量比較小的情況下,DELETE和TRUNCATE的清理速度差別不是很大。但是數據量很大的時候就能看出區別。由于第二項中說的,TRUNCATE不需要支持回滾,所以使用的系統和事務日志資源少。DELETE 語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項,固然會慢,但是相對來說也較安全。

4. 高水位重置

隨著不斷地進行表記錄的DML操作,會不斷提高表的高水位線(HWM),DELETE操作之后雖然表的數據刪除了,但是并沒有降低表的高水位,隨著DML操作數據庫容量也只會上升,不會下降。所以如果使用DELETE,就算將表中的數據減少了很多,在查詢時還是很和DELETE操作前速度一樣。
而TRUNCATE操作會重置高水位線,數據庫容量也會被重置,之后再進行DML操作速度也會有提升。

MySQL Truncate用法補充

前言:

當我們想要清空某張表時,往往會使用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刪除表操作實現(delete、truncate、drop的區別)
  • MySQL中truncate誤操作后的數據恢復案例
  • mysql 刪除操作(delete+TRUNCATE)
  • MySQL刪除數據Delete與Truncate語句使用比較
  • 詳解MySQL中DROP,TRUNCATE 和DELETE的區別實現mysql從零開始
  • MySQL用truncate命令快速清空一個數據庫中的所有表

標簽:阜新 合肥 臺灣 日照 鎮江 北京 貴州 鷹潭

巨人網絡通訊聲明:本文標題《MySQL Truncate用法詳解》,本文關鍵詞  MySQL,Truncate,用法,詳解,MySQL,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL Truncate用法詳解》相關的同類信息!
  • 本頁收集關于MySQL Truncate用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产日产亚洲精品系列| 亚洲免费在线电影| 国产精品久久久久影院| 亚洲成人av电影| 丁香婷婷综合网| 日韩欧美一区二区不卡| 亚洲欧洲成人精品av97| 久久av中文字幕片| 欧美视频在线不卡| 亚洲欧洲美洲综合色网| 国产成人综合自拍| 亚洲精品一线二线三线| 男女激情视频一区| 欧美日韩一卡二卡三卡| 亚洲色图欧美偷拍| caoporen国产精品视频| 久久久久久影视| 国产一区二区三区高清播放| 欧美精品久久久久久久久老牛影院| 亚洲欧洲韩国日本视频| 韩国av一区二区三区在线观看| 欧美精品丝袜久久久中文字幕| 一区二区久久久| 在线免费观看日本欧美| 亚洲欧洲综合另类| 91麻豆文化传媒在线观看| 欧美国产一区视频在线观看| 国产精品影视在线观看| 精品国产三级电影在线观看| 日本视频免费一区| 欧美电视剧在线观看完整版| 蜜桃视频一区二区三区 | 日韩成人精品在线| 欧美日韩午夜精品| 五月综合激情网| 欧美一区二区三区人| 日韩中文字幕亚洲一区二区va在线| 91久久精品网| 亚洲高清视频在线| 91精品国产色综合久久ai换脸| 美女网站色91| 国产人成亚洲第一网站在线播放| 国产成人亚洲精品青草天美 | 成人影视亚洲图片在线| 欧美激情在线看| 色综合天天综合狠狠| 亚洲天堂精品视频| 欧美日韩久久久久久| 美女国产一区二区| 久久久精品中文字幕麻豆发布| 高清国产一区二区三区| 亚洲精品一卡二卡| 欧美日韩中字一区| 蜜桃一区二区三区四区| 日本一二三四高清不卡| 色诱亚洲精品久久久久久| 午夜av一区二区| 国产日韩欧美激情| 欧美日韩亚洲国产综合| 久久99精品国产| 自拍视频在线观看一区二区| 欧美日本一区二区三区四区| 国产米奇在线777精品观看| 亚洲天堂精品在线观看| 日韩一区二区三区精品视频| av在线不卡电影| 亚洲v中文字幕| 久久久精品天堂| 制服丝袜激情欧洲亚洲| 风间由美一区二区三区在线观看| 亚洲国产精品一区二区久久| 久久人人97超碰com| 欧美亚洲尤物久久| 高清成人免费视频| 日韩国产欧美视频| 最新中文字幕一区二区三区| 欧美一级片在线看| 欧美视频中文一区二区三区在线观看| 韩日欧美一区二区三区| 一区二区欧美在线观看| 国产精品久久久久久久久免费樱桃 | 国产欧美一区二区在线观看| 欧美三级中文字幕在线观看| 福利电影一区二区| 看电视剧不卡顿的网站| 亚洲码国产岛国毛片在线| 精品不卡在线视频| 日韩一区二区三区高清免费看看| 色综合久久九月婷婷色综合| 国产高清在线观看免费不卡| 图片区小说区区亚洲影院| 亚洲欧美偷拍三级| 欧美激情一区在线观看| 久久伊99综合婷婷久久伊| 日韩视频免费观看高清完整版在线观看| 成人sese在线| 成人激情小说乱人伦| 国产成a人亚洲| 国产精品456露脸| 蜜桃一区二区三区四区| 日本亚洲免费观看| 日韩黄色小视频| 午夜不卡在线视频| 五月婷婷激情综合网| 亚洲成人777| 日韩黄色免费电影| 丝袜美腿高跟呻吟高潮一区| 亚洲成人av一区二区三区| 亚洲午夜免费福利视频| 亚洲成人av资源| 亚洲不卡在线观看| 午夜日韩在线观看| 三级成人在线视频| 日本视频一区二区三区| 蜜臀va亚洲va欧美va天堂| 三级成人在线视频| 乱中年女人伦av一区二区| 捆绑调教一区二区三区| 国产综合久久久久影院| 国内欧美视频一区二区| 国产乱码精品一区二区三区av | 国产精品久久久久7777按摩| 《视频一区视频二区| 亚洲色欲色欲www在线观看| 亚洲欧美日韩国产综合| 性做久久久久久久免费看| 日本中文在线一区| 国产一区二区三区观看| 播五月开心婷婷综合| 色屁屁一区二区| 欧美一级搡bbbb搡bbbb| 久久免费国产精品| 综合婷婷亚洲小说| 免费成人在线影院| 国产精品主播直播| 色播五月激情综合网| 91麻豆精品国产91久久久资源速度| 日韩三级中文字幕| 国产精品乱码一区二区三区软件| 亚洲三级理论片| 蜜臀a∨国产成人精品| 懂色av噜噜一区二区三区av| 欧美午夜不卡视频| 精品国精品自拍自在线| 亚洲欧美激情插 | 亚洲韩国精品一区| 国内精品第一页| 日本韩国欧美在线| 欧美电影免费观看高清完整版在 | 欧美国产日韩精品免费观看| 久久精品无码一区二区三区| 中文字幕在线不卡一区| 亚洲国产婷婷综合在线精品| 国产一区二区不卡老阿姨| 欧美在线制服丝袜| 亚洲国产成人午夜在线一区| 亚洲国产成人av网| 成人精品鲁一区一区二区| 欧美猛男超大videosgay| 久久九九久久九九| 手机精品视频在线观看| 成人黄色777网| 精品国产乱码91久久久久久网站| 亚洲精品国产成人久久av盗摄| 国产激情精品久久久第一区二区| 777色狠狠一区二区三区| 亚洲日本在线天堂| 大胆欧美人体老妇| 26uuu亚洲| 免费成人美女在线观看.| 色美美综合视频| 欧美激情一区二区三区不卡| 青青草原综合久久大伊人精品优势| 色悠久久久久综合欧美99| 国产午夜精品一区二区| 国内成人免费视频| 日韩三级电影网址| 香蕉成人啪国产精品视频综合网 | 国产亚洲成年网址在线观看| 免费人成黄页网站在线一区二区| 色成人在线视频| 国产精品日韩成人| 国产在线视频精品一区| 日韩欧美激情四射| 久久精品国产亚洲aⅴ| 制服丝袜在线91| 三级不卡在线观看| 91精品国产91久久久久久一区二区 | 成人av电影在线| 国产日本亚洲高清| 国产成人午夜99999| 国产日产欧美精品一区二区三区| 国产一区视频在线看| 精品福利在线导航| 国产精品综合av一区二区国产馆| 亚洲精品一区二区精华| 国产乱色国产精品免费视频| 国产亚洲欧美一级| 大陆成人av片| 一区二区三区中文字幕电影|