# TRUNCATE

URL: https://caijiao.org/mariadb/data/truncate
Source: docs/mariadb/data/truncate.md
Description: 本节介绍 MariaDB 中 TRUNCATE 语句的用法，用于快速清空表中的所有数据，同时保留表结构和相关索引，是删除大量数据时的高效选择。

## 1. 基本用法

使用 `TRUNCATE TABLE` 快速清空表中的所有数据，但保留表结构和索引：

```sql
TRUNCATE TABLE table_name;
````

示例：

```sql
TRUNCATE TABLE users;
```

## 2. 特点

* 删除所有数据，速度比 DELETE 快得多。
* 无法使用 WHERE 条件，操作的是整张表。
* 不触发 DELETE 触发器。
* 通常不能回滚（取决于存储引擎和事务设置）。
* 重置自增计数器（如 AUTO\_INCREMENT）。

## 3. 适用场景

适合需要清空表数据，且不需要单条删除触发器和事务控制时使用。

---

使用 TRUNCATE 时务必谨慎，避免误删重要数据。
