---
title: "TRUNCATE TABLE - OceanBase 数据库 V4.6.0 | OceanBase 文档中心"
description: TRUNCATE TABLE 描述 该语句用于完全清空指定表，但是保留表结构，包括表中定义的分区信息。从逻辑上说，该语句与用于删除所有行的 DELETE FROM 语句相同。 使用限制及注意事项 TRUNCATE TABLE 语句与 DELETE FROM 语句有以下不同： TRUNCATE 操作删除并重新创建表，这…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.6.0

# TRUNCATE TABLE

更新时间：2026-07-15 15:27:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.6.0/zh-CN/700.reference/500.sql-reference/100.sql-syntax/300.common-tenant-of-oracle-mode/900.sql-statement-of-oracle-mode/100.ddl-of-oracle-mode/4500.truncate-table-of-oracle-mode.md)  

## 描述

该语句用于完全清空指定表，但是保留表结构，包括表中定义的分区信息。从逻辑上说，该语句与用于删除所有行的 `DELETE FROM` 语句相同。

## 使用限制及注意事项

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

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

## 权限要求

执行 `TRUNCATE TABLE` 语句，需要当前用户拥有表的 `DROP` 权限。有关 OceanBase 数据库权限的详细介绍，请参见 [Oracle 模式下的权限分类](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005685764)。

## 语法

```sql
TRUNCATE [TABLE] [schema.]table_name;

```

## 参数解释

| 参数 | 描述 |
| --- | --- |
| schema. | 指定 Schema。如果省略 `schema`，则默认该表在当前 Schema 中。 |
| table_name | 指定表名。 |

## 示例

完全清空表 `tb1`。

```sql
obclient> TRUNCATE TABLE tbl1;
Query OK, 0 rows affected

```

## 相关文档

[清空表](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000005683117)

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
