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