TRUNCATE TABLE
刪除表中的所有行,而不記錄單個行刪除操作。
語法
參數
name
是要截斷的表的名稱或要刪除其全部行的表的名稱。
注釋
TRUNCATE TABLE
在功能上與不帶 WHERE
子句的 DELETE
語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE
比 DELETE
速度快,且使用的系統(tǒng)和事務日志資源少。
DELETE
語句每次刪除一行,并在事務日志中為所刪除的每行記錄一項。TRUNCATE TABLE
通過釋放存儲表數據所用的數據頁來刪除數據,并且只在事務日志中記錄頁的釋放。
TRUNCATE TABLE
刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用 DELETE。如果要刪除表定義及其數據,請使用 DROP TABLE
語句。
對于由 FOREIGN KEY 約束引用的表,不能使用 TRUNCATE TABLE,而應使用不帶 WHERE 子句的 DELETE 語句。由于 TRUNCATE TABLE 不記錄在日志中,所以它不能激活觸發(fā)器。
TRUNCATE TABLE
不能用于參與了索引視圖的表。
示例
下例刪除 authors 表中的所有數據。
TRUNCATE TABLE authors
權限
TRUNCATE TABLE
權限默認授予表所有者、sysadmin
固定服務器角色成員、db_owner
和 db_ddladmin
固定數據庫角色成員且不可轉讓。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
您可能感興趣的文章:- Oracle給用戶授權truncatetable的實現方案
- delete from 表名與truncate table 表名區(qū)別
- SQL中Truncate的用法
- golang實戰(zhàn)之truncate日志文件詳解
- tf.truncated_normal與tf.random_normal的詳細用法
- smarty中改進truncate使其支持中文的方法
- SQL Server中TRUNCATE事務回滾操作方法
- 實例理解SQL中truncate和delete的區(qū)別
- 詳解SQL中drop、delete和truncate的異同
- Mysql開啟慢SQL并分析原因