格式

    1. TRUNCATE [TABLE] tblname

    该语句用于完全清空指定表,但是保留表结构,包括表中定义的Partition信息。从逻辑上说,该语句与用于删除所有行的DELETE FROM语句相同。执行TRUNCATE语句,必须具有表的删除和创建权限。它属于DDL语句。

    TRUNCATE TABLE语句与DELETE FROM语句有以下不同:

    • 删减操作会取消并重新创建表,这比一行一行的删除行要快很多。

    • TRUNCATE TABLE语句执行结果显示影响行数始终显示为0行。

    • 使用TRUNCATE TABLE语句,表管理程序不记得最后被使用的AUTO_INCREMENT值,但是会从头开始计数。

    • TRUNCATE语句不能在进行事务处理和表锁定的过程中进行,如果使用,将会报错。

    • 只要表定义文件是合法的,则可以使用TRUNCATE TABLE把表重新创建为一个空表,即使数据或索引文件已经被破坏。