mysql truncate, drop,delete 表的区别

程度从强到弱
1、drop  table tb
drop将表格直接删除,没有办法找回
2、truncate (table) tb
删除表中的所有数据,不能与where一起使用
添加新的数据时ID从1开始自增
3、delete from tb (where)
删除表中的数据(可制定某一行)
添加新数据时ID从删除之前的最后一个数自增

区别:truncate和delete的区别
1、事务:truncate是不可以rollback的,但是delete是可以rollback的;
原因:truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,可以rollback
2、效果:truncate删除后将重新水平线和索引(id从零开始) ,delete不会删除索引
3、 truncate 不能触发任何Delete触发器。
4、delete 删除可以返回行数

猜你喜欢

转载自blog.csdn.net/weixin_40161254/article/details/84345503
今日推荐