TRUNCATE TABLE 
===================================



描述 
-----------

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

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

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

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

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

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

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




格式 
-----------

```javascript
TRUNCATE [TABLE] table_name;
```



参数解释 
-------------



|   **参数**   | **描述** |
|------------|--------|
| table_name | 指定表名。  |



示例 
-----------

完全清空表 tb1。

```javascript
TRUNCATE [TABLE] tb1;
```


