数据库应用常见问题——清空表中数据
在做数据迁移,数据清洗或者写web项目时要将数据替换更新,那么有时要将表做清空处理
常用的清空数据表的SQL语句有如下两种
delete from 表名;
truncate table 表名;
运行测试
我使用的是MySql待测试的表有20000条记录,将其多拷两份以备测试
分别运行两个清空表的SQL语句
从结果可以看出两条语句都可以达到清空表的目的,而两者的区别是:
truncate的效率高于delete
truncate 清除数据后不记录日志,不可以恢复数据,相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表.
delete清除数据后记录日志,可以恢复数据,相当于将表中所有记录一条一条删除
具体选用哪一种方法要根据实际遇到的情况而定,我通常使用的是delete方法,虽然时间较慢,但是较为保险