1. delete from 表名
最熟悉删除方法,如:delete from course,这会删除course中的所有记录。
表结构不会删除,空间也不会释放,如果是主键自增的话,再次插入数据时,id不会从1开始,而是基于删掉之前的最大id+1。
可以通过事务实现回滚,恢复数据。
2. truncate 表名
一样会清空表中的数据,也不删除表结构。会释放空间,id会从1开始(如果设置了自增)。
3. drop 表名
把整张表删除,数据,结构都删掉。
delete和truncate的区别:
1.事务和撤销:delete受事务管理,可用rollback回滚撤销;truncate则不能。
2.效率:不论是执行删除的效率,还是删除过后操作标的效率,truncate都高于delete。truncate不论表的大小,都很快;delete是逐行删除,所以执行比较慢,而且数据越多,执行越慢。
truncate后,表和表的索引的大小重置,delete不能,delete过后的表操作起来比truncate慢。