TRUNCATE語句的基本用法,值得看下哦

2021-05-09 17:57:35 字數 697 閱讀 7024

清空表

如果你想刪除表中所有資料,清空表,可以考慮使用ddl語言的truncate語句。truncate就像沒有where子句的delete命令一樣。truncate將刪除表中所有行。truncate不是dml語句是ddl語句,他和delete有不同的特點。

truncate table (schema)table drop(reuse) storage

storage子串是可選的,預設是drop storage。當使用drop storage時將縮短表和表索引,將表收縮到最小範圍,並重新設定next引數。reuse storage不會縮短表或者調整next引數。

truncate和delete有以下幾點區別

1、truncate在各種表上無論是大的還是小的都非常快。如果有rollback命令delete將被撤銷,而truncate則不會被撤銷。

2、truncate是乙個ddl語言,向其他所有的ddl語言一樣,他將被隱式提交,不能對truncate使用rollback命令。

3、truncate將重新設定高水平線和所有的索引。在對整個表和索引進行完全瀏覽時,經過truncate操作後的錶比delete操作後的表要快得多。

4、truncate不能觸發任何delete觸發器。

5、不能授予任何人清空他人的表的許可權。

6、當表被清空後表和表的索引講重新設定成初始大小,而delete則不能。

7、不能清空父表。

TRUNCATE 命令用法

刪除一表結構,報錯,可能是鎖表原因.用truncate指令後done 刪除表中的所有行,而不記錄單個行刪除操作。語法truncate table name 引數name 是要截斷的表的名稱或要刪除其全部行的表的名稱。注釋truncate table 在功能上與不帶 where 子句的 delete ...

oracle中的truncate語句

最近在專案中碰到個問題,更新過期資料時事務沒有回滾。前前後後仔細檢查了一遍事務配置,始終沒有找出問題所在。最後經過單步除錯,總算找到了問題根源 使用truncate刪除資料,導致事務被提交。1 在oracle中刪除資料後還能回滾是因為資料被放在了undo表空間。2 dml data manipula...

SQL中Truncate的用法

當你不再需要該錶時,用 drop 當你仍要保留該錶,但要刪除所有記錄時,用 truncate 當你要刪除部分記錄時 always with a where clause 用 delete.truncate是乙個能夠快速清空資料表內所有資料的sql語法。並且能針對具有自動遞增值的字段,做計數重置歸零重...