目录
一、MySQL清空表数据命令:truncate和delete
truncate table 表名; delete from 表名 where 条件; delete from 表名;
说明:truncate
truncate的效率高于delete。truncate 清除数据后不记录日志,不可以恢复数据,相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。truncate删除数据后是不可以进行rollback操作,语句不能与where一起使用。truncate 不写服务器 log,速度快。
说明:delete
- drop不光清除表数据还要删除表结构,释放空间。
- 删除之后,依赖于该表的存储过程/函数将保留,但是变为invalid状态。
- drop删除表后是不可以进行rollback操作。
二、删除表
drop table 表名;
- drop不光清除表数据还要删除表结构,释放空间。
- 删除之后,依赖于该表的存储过程/函数将保留,但是变为invalid状态。
- drop删除表后是不可以进行rollback操作。
三、总结:
- 当你仍要保留该表,但要删除所有数据表记录时, 用 truncate。
- 当你要删除部分记录或者有可能会后悔的话, 用 delete。
- 当你不再需要该表时, 用 drop。