公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

[轉帖]SQL中Truncate的用法

liguoquan
2023年5月24日 10:57 本文熱度 1136
:SQL中truncate的用法

SQL中truncate的用法

SQL中truncate的用法

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 不記錄在日志中,所以它不能激活觸發(fā)器。

  •  

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

  •  

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

  •  

  • 7、如果有ROLLBACK語句,delete操作將被撤銷,但truncate不會撤銷。

  •  

  •  

  •  

  • 三、不能對以下表使用 truncate TABLE

  •  


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


  • 2、參與索引視圖的表。


  • 3、通過使用事務復制或合并復制發(fā)布的表。


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


  • 5、truncate TABLE 不能激活觸發(fā)器,因為該操作不記錄各個行刪除。

  •  

  •  

  •  

  • 四、truncate、drop、delete區(qū)別

  •  

  •  
    1.drop和delete只是刪除表的數據(定義),drop語句將刪除表的結構、被依賴的約束(constrain)、觸發(fā)器 (trigger)、索引(index);依賴于該表的存儲過程/函數將保留,但是變?yōu)閕nvalid狀態(tài)。

    2.delete語句是DML語言,這個操作會放在rollback segement中,事物提交后才生效;如果有相應的觸發(fā)器(trigger),執(zhí)行的時候將被觸發(fā)。truncate、drop是DDL語言,操作后即 生效,原數據不會放到rollback中,不能回滾,操作不會觸發(fā)trigger。

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

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

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

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

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

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

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



該文章在 2023/5/24 10:57:54 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产美女白浆视频免费网站 | 国产一本高清在线欧美亚 | 国产年轻女教师a级毛片 | 国产精品亚洲欧美日韩在线播放 | 国产超碰āv人人做人人爽 国产超碰女人任你爽 | 国产精品自拍一区 | 国产一区二区三区精品专区 | 国产毛片女人一级毛片 | 国产成人啪视频一区二区三区 | 国产精品白丝av在线观看播放 | 国产无套粉嫩白浆在 | 国产黄网站 | 18禁激情床震无遮挡污污污 | 国产人妖在线精品 | 国产无码久久99 | 99久久国产自偷自自偷蜜月 | 精品国产亚洲av香蕉高清 | 国产极品美女在线观看网站 | 成人国产综合一区二区在 | 国产成人综合亚洲 | 成人区精品人妻一区二区不卡 | 丰满美女冒白浆久久久久久久 | 极品丝袜乱系列全集大全目录 | 高清一区二区三区不卡免费 | 国产一成人精品福利网站 | 97无码专区一区而去 | 精品国产一区二区三区19 | 国产换妻在线免费视频 | 高h猛烈失禁潮喷a片在线观看 | 97精品国产自在现线免费观看 | 高清无码专区在线播放 | 激情国产原创在线观看 | 精品国产亚洲一区二区三区 | 国产福利一区二区三区四区 | 国产中文内射一区二区三区在线 | 国产爆乳尤妮丝无码视频在线 | 国内精品久久无码影视 | 国产福利乳摇在线播放 | 国产一区二区三区精品一级毛片 | 丰满人妻熟妇乱又伦精品视频三 | 精品国产一级二级三级在线 |