1. 程式人生 > >TRUNCATE語句的基本用法,值得看下哦

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

 清空表

  如果你想刪除表中所有資料,清空表,可以考慮使用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、不能清空父表。