需求
清空一张表中的全部数据
delete
最常见的和容易想到的就是使用 delete 来进行数据的删除
-- 删除全部
delete * from table_name;
-- 删除指定条件
delete * from table_name where id > 100;
这样删除没问题, 但是如果有和多条数据百万级别
那么就会变成很慢的操作
- 逐条删除
- 删的过程中写 服务器 日志 log
- 自增的主键 id 删除后依旧从原来的地方开始, 而不是 从 1 从新开始
truncate
翻译:
truncate --> 删节, 截断
-- 直接清空 这个表中的所有内容
truncate table table_name;
-- table 可以省略
truncate table_name;
- truncate 整体删除
- 不写服务器 日志 log , 比 delete快的根本原因
- 重置 自增主键 id 的起始位置 从 1 从新开始