DELETE是DML语句,逐行删除,支持事务回滚,不重置自增主键,可带WHERE条件;2. TRUNCATE是DDL命令,快速释放数据页,效率高,重置自增主键,不可回滚,只能清空整表。

在MySQL中,清空表数据是日常数据库维护的常见操作。通常有两种常用方法:使用 DELETE 语句和使用 TRUNCATE 命令。它们都能清除表中的所有数据,但机制和适用场景有所不同。
1. 使用 DELETE 清空表数据
DELETE 是一种 DML(数据操作语言)语句,用于删除表中的行。要清空整张表,可以不加 WHERE 条件或使用 WHERE 1=1。
语法:DELETE FROM 表名;
特点:
- 可以带 WHERE 条件,实现部分删除,若不加条件则删除全部数据。
- 逐行删除,因此执行速度较慢,尤其在大数据量时。
- 支持事务,可以回滚(ROLLBACK)。
- 会触发 DELETE 触发器。
- 自增主键(AUTO_INCREMENT)不会重置。
示例:
DELETE FROM users;
2. 使用 TRUNCATE 清空表数据
TRUNCATE 是一种 DDL(数据定义语言)命令,用于快速清空整个表。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~