sql清空表数据的三种方式(truncate、delete、drop)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql清空表数据的三种方式(truncate、delete、drop)相关的知识,希望对你有一定的参考价值。
参考技术A truncate:整体删除所有数据,保留表结构,不能撤销还原,不写服务器 logdelete:逐行删除速度极慢,不适合大量数据删除, 写服务器log (没有truncate快的原因)
drop:删除表,数据和表结构一起删除,快速
Mysql清空表(truncate)与删除表中数据(delete)的区别
Mysql清空表(truncate)与删除表中数据(delete)的区别
两种清空表的方式
truncate table 表名;
delete from 表名;
其中truncate操作中的table可以省略。这两者都是将wp_comments表中数据清空,不过也是有区别的,如下:
- truncate是整体删除(速度较快), delete是逐条删除(速度较慢)。
- truncate不写服务器log,delete写服务器log,也就是truncate效率比delete高的原因。
- truncate不激活trigger(触发器),但是会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。
- 如果只需删除表中的部分记录,只能使用DELETE语句配合where条件。 DELETE FROM 表名 WHERE……
参考:
http://blog.is36.com/mysql_difference_of_truncate_and_delete/
以上是关于sql清空表数据的三种方式(truncate、delete、drop)的主要内容,如果未能解决你的问题,请参考以下文章