delete 和 truncate 的区别
- 相同点:
- 都能删除数据,不会影响表结构和索引约束
- 不同点
-
DELETE
- delete 删除表中的数据,表结构还在;
- 一条一条删除数据
- 删除后的数据可以找回
- 不会影响自增
- 不清空表数据的情况下删除数据,一般使用delete
-
TRUNCATE
- truncate 删除是把表直接DROP掉,然后再创建一个同样的新表。
- 直接删除整个表,执行速度比delete快
- 删除的数据不能找回。
- 影响自增,自增归零
- 不会影响事务
- 清空表中所有数据,一般使用 truncate
-