溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

T-SQL中刪除命令(drop、truncate和delete)

發(fā)布時間:2020-07-10 05:39:26 來源:網絡 閱讀:1102 作者:AlunE 欄目:MySQL數據庫

1、DROP命令:
語法:

drop table  數據表    --刪除整張表(包括表結構定義),速度最快,最徹底,沒有保存具體日志(刪除內容和定義,釋放空間。就是把整個表去掉.),基本上無法恢復

2、TRUNCATE命令:
語法:

truncate table 數據表   --刪除整張表內容(只刪除數據,保留表結構),沒有保存具體刪除日志,會截斷數據并釋放空間

3、DELETE命令:
語法:

delete table 數據表 where 條件   --刪除內容不刪除定義,不釋放空間。會記錄每條刪除操作的日志,刪除方式為一條一條刪除,會記錄每個刪除操作的日志。

總結:
drop命令:刪除速度快,不保留表結構,只能整張表刪除。
truncate命令:刪除速度快,保留表結構,只能刪除整張表的全部數據,使用的系統(tǒng)和事務日志資源少。
delete命令:刪除速度慢,每次刪除一行,可刪除部分數據,并在事務日志中為所刪除的每行記錄一項,可以對delete操作進行roll back,使用較頻繁。

1、truncate 在各種表上無論是大的還是小的都非常快。如果有ROLLBACK命令Delete將被撤銷,而 truncate 則不會被撤銷。
2、truncate 是一個DDL語言,向其他所有的DDL語言一樣,他將被隱式提交,不能對 truncate 使用ROLLBACK命令。
3、truncate 將重新設置高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過 truncate 操作后的表比Delete操作后的表要快得多。
4、truncate 不能觸發(fā)任何Delete觸發(fā)器。
5、當表被清空后表和表的索引講重新設置成初始大小,而delete則不能。
6、不能清空父表

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI