MySQL
清空表中的数据(不算DROP
语句)
1. truncate
语句
truncate table table_name
- 不能与
where
一起使用 truncate
删除数据后是不可以rollback
的truncate
删除数据后会重置Identity
(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数truncate
删除数据后不写服务器log
,整体删除速度快truncate
删除数据后不激活trigger
(触发器)
2. delete
语句
delete from table_name (where xxx=xxx)
- 可以
where
子句一起使用 - 不会重置
Identity
字段,主键id继续增加 - 会写入数据
log
文件(主从、主备需要) - 可以激活
trigger
(触发器)
参考:
http://blog.is36.com/mysql_difference_of_truncate_and_delete/