程度从强到弱
1、drop table tb
删除表的结构和数据,没有办法找回
2、truncate (table) tb
删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快,不能与where一起使用
3、delete from tb (where)
一行一行地删除所有记录,表结构还在,写日志,可以恢复的,速度慢。
truncate和delete的区别
1、事务:truncate是不可以rollback的,但是delete是可以rollback的;
原因:truncate删除整表数据(ddl语句,隐式提交),delete是一行一行的删除,可以rollback
2、效果:truncate删除后将重新水平线和索引(id从零开始) ,delete不会删除索引
3、 truncate 不能触发任何Delete触发器。
4、delete 删除可以返回行数
