首批通过分布式安全可靠测评,为关键业务系统打造
TRUNCATE TABLE
更新时间:2024-12-11 23:00:00
描述
该语句用于完全清空指定表,但是保留表结构,包括表中定义的 Partition 信息。从逻辑上说,该语句与用于删除所有行的 DELETE FROM 语句相同。
执行 TRUNCATE 语句,必须具有表的删除(DROP)权限。它属于 DDL 语句。
TRUNCATE TABLE 语句与 DELETE FROM 语句有以下不同:
TRUNCATE操作删除并重新创建表,这比逐行删除要快得多,特别是对于大表。TRUNCATE TABLE语句执行结果显示影响行数始终显示为0行。使用
TRUNCATE TABLE语句,表管理程序不记得最后被使用的AUTO_INCREMENT值,但是会从头开始计数。TRUNCATE语句不能在进行事务处理和表锁定的过程中进行,如果使用,将会报错。只要表定义文件是合法的,则可以使用
TRUNCATE TABLE把表重新创建为一个空表,即使数据或索引文件已经被破坏。
语法
TRUNCATE [TABLE] table_name;
参数解释
| 参数 | 描述 |
|---|---|
| table_name | 指定表名。 |
示例
完全清空表 a。
obclient> TRUNCATE TABLE a;
Query OK, 0 rows affected