MySQL删除表的方式
1、delete
- 只是删除表数据,支持条件过滤,支持回滚,记录日志,所以比较慢。
- Delete语句是DML,这个操作会放在rollback segement中,事务提交以后才生效。如果有相应trigger,执行的时候会被触发。
格式:delete from 表名;
2、Truncate
- 删除所有数据,不支持条件过滤,不支持回滚,不记录日志,效率高于delete。
- Truncate是DDL,操作理解生效,原数据不放在rollbacksegement中,不能回滚,操作不触发trigger。
格式:truncate table 表名;
3、Drop
- 删除表数据的同时删除表结构,将所占空间都释放,删除效率最高。
- Drop是DDL,操作理解生效,原数据不放rollbacksegement中,不能回滚,操作不触发trigger。
格式:drop table 表名;
欢迎批评指正,提出问题,谢谢!