云数据库OceanBase入门教程 OceanBase TRUNCATE TABLE

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 5

描述

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

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

  • 删减操作会取消并重新创建表,这比一行一行的删除行要快很多。
  • TRUNCATE TABLE​ 语句执行结果显示影响行数始终显示为 0 行。
  • 使用 ​TRUNCATE TABLE​ 语句,表管理程序不记得最后被使用的 AUTO_INCREMENT 值,但是会从头开始计数。
  • TRUNCATE​ 语句不能在进行事务处理和表锁定的过程中进行,如果使用,将会报错。
  • 只要表定义文件是合法的,则可以使用 ​TRUNCATE TABLE​ 把表重新创建为一个空表,即使数据或索引文件已经被破坏。

格式

TRUNCATE [TABLE] table_name;

参数解释

参数

描述

table_name

指定表名。

示例

完全清空表 tb1。

obclient> TRUNCATE TABLE tb1;