TRUNCATE
Name
TRUNCATE -- 清空一个或者一堆表
Synopsis
TRUNCATE [ TABLE ] name [, ...]
描述
TRUNCATE 快速地从一堆表中删除所有行。它和在每个表上进行无条件的
DELETE 有同样的效果,不过因为它不做表扫描,因而快得多。
在大表上最有用。
注意
只有表的所有者可以 TRUNCATE 它。
如果从其它表有到某个表的外键引用,那么就不能使用 TRUNCATE。
除非这些表在同一个命令中也被截断。
在这种情况下检查有效性要求进行表扫描,而 TRUNCATE 的概念是不做这样的事情。
(译注:意味着你有必要这么用么?)
TRUNCATE 不会运行任何在该表上存在的 ON DELETE 触发器。
例子
截断表 bigtable 和fattable:
TRUNCATE TABLE bigtable, fattable;