MySQL删除表的方式

1、delete

  • 只是删除表数据,支持条件过滤,支持回滚,记录日志,所以比较慢。
  • Delete语句是DML,这个操作会放在rollback segement中,事务提交以后才生效。如果有相应trigger,执行的时候会被触发。

格式:delete from 表名;

2、Truncate

  • 删除所有数据,不支持条件过滤,不支持回滚,不记录日志,效率高于delete
  • TruncateDDL,操作理解生效,原数据不放在rollbacksegement中,不能回滚,操作不触发trigger

格式:truncate table 表名;

3、Drop

  • 删除表数据的同时删除表结构,将所占空间都释放,删除效率最高。
  • DropDDL,操作理解生效,原数据不放rollbacksegement中,不能回滚,操作不触发trigger

格式:drop table 表名;

欢迎批评指正,提出问题,谢谢!
原文地址:https://www.cnblogs.com/xxeleanor/p/14492805.html