mysql 使用 TRUNCATE TABLE 快速清空表中所有数据

发布时间:2025-04-27      访问量:31
`TRUNCATE TABLE` 是 SQL 里用于快速清空表中所有数据的语句。相较于 `DELETE FROM` 语句,`TRUNCATE TABLE` 不会逐行删除数据,而是直接释放存储表数据的空间,所以在清空大量数据时,它的执行速度更快。并且,`TRUNCATE TABLE` 操作无法回滚,这意味着一旦执行,就不能恢复已删除的数据。

下面给出使用示例:
sql -- 清空名为 users 的表中的所有数据 TRUNCATE TABLE users;

在这个示例中,`TRUNCATE TABLE` 语句会把 `users` 表中的所有数据删除,不过表结构会保留。

需要注意,`TRUNCATE TABLE` 不能用于有外键约束关联的表,因为它直接释放存储空间,会破坏外键约束。要是表存在外键约束,你就得使用 `DELETE FROM` 语句来删除数据。以下是使用 `DELETE FROM` 清空表数据的示例:
sql -- 清空名为 orders 的表中的所有数据 DELETE FROM orders;

这个 `DELETE FROM` 语句会逐行删除 `orders` 表中的所有数据。和 `TRUNCATE TABLE` 不同,`DELETE FROM` 语句支持事务回滚,你可以在执行删除操作后根据需要撤销该操作。
堆内存
多线程
strdup
初始化器
冒泡排序
增删改查
BufferedReader
输入输出
面向对象
生命周期
闭包的概念
原型链
Flask
mysql-connector-python
单例模式
浅拷贝
隔离级别
索引
InnoDB
左连接
聚合函数
PuTTY
TRUNCATE
str_starts_with_many
DateTime
array_combine
闭包的概念