好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MYSQL中Truncate的用法詳解

MYSQL中Truncate的用法詳解

熱門標簽:南昌三維地圖標注 曲靖移動外呼系統公司 地圖標注費用是多少 外呼系統打電話上限是多少 百應電話機器人優勢 啥是企業400電話辦理 武漢網絡外呼系統服務商 電話外呼系統改號 怎樣在地圖標注銷售區域

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

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

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

一、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的用法詳解的文章就介紹到這了,更多相關MYSQL 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中Truncate的用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 十大尺度做爰未删减电影海盗2| 极品美女洗澡后露粉嫩木耳视频| 成人小视频在线| 亚瑟一区二区三区四区| 国产亚洲精品久久久久久777| 夜色邦成人网| 欧美在线免费观看视频| 欧美打屁股惩罚spanking| 亚洲AV一区二区在线紧身裙教师 | mm131美女做爰A片爽免费| 快穿h大尺度床戏| 欧美zooz人禽交视频| 适合夫妻看的睡前视频素材| 《美国式禁忌》3| 精品91自产拍在线| 美女扒开屁股让男人桶gif动态图| 超级教师电影免费观看| 美女高潮深处抽搐不停| 韩国理伦片视频观看| 最爽的性过程描写| freexx老女人| 风花雪月电影免费版| 国产一级久久久久久毛片亚洲第一 | 小货sao边洗澡边cao你在线观看 | 放荡勾人引诱h秘书| 水多多老gg导航福利视频| zsvdy·com午夜| 精品国产一级A片黄毛网站| 亚洲成年人电影在线观看| 欧美三级a| 国产美女裸体永久免费软件| 91偷自产一区二区三区堕落人妻| 天天色天天射天天干| 天海翼影音先锋| 国产日韩精品欧美一区灰| 色之久久综合AV人妻熟女黑寡妇| 囯产精品久久久久久久久鸭绿欲仙| 白丝老师好紧好爽好湿| 啊啊不要| 日韩一级欧美一级| 女被狂揉下部?羞羞视频|