delete删除与truncate删除的区别
删除方式:
delete from 表名 【where 筛选条件】
truncate table 表名
- 两者皆不会删除建表字段,也就是表初始结构还在。
- delete 可以加where条件,truncate不可以
- 若删除的表中有自增长列,用【delete from 表名】删除表数据后,再插入数据,自增长列的值从删除前最后一条数据的值加一开始,而不是从头开始。而用【truncate table 表名】删除表数据后,再插入数据,自增长列的值从头开始,也就是从1开始。
- truncate 删除,效率高一点点。
- truncate删除不会返回多少行受影响,也就是没有返回值,而delete删除会返回多少行受影响,有返回值。
- truncate删除不能回滚,delete删除可以回滚。