Mysql清空表(truncate)与删除表中数据(delete)的区别
程序员文章站
2022-10-03 22:22:56
近日在做一个区块链积分转代币的APP,牵涉到数据库中表的记录删除问题, 如果一条条删除那可真是累人。遂考虑直接进入mysql直接清空表或者删除表中数据。 本文记录一下这2种操作模式的区别,目标对象是表wp_comments,里面的所有留言均是垃圾留言,均可删除。然后便有了以下2种方式(进入mysql ......
近日在做一个区块链积分转代币的app,牵涉到数据库中表的记录删除问题, 如果一条条删除那可真是累人。遂考虑直接进入直接清空表或者删除表中数据。
本文记录一下这2种操作模式的区别,目标对象是表wp_comments,里面的所有留言均是垃圾留言,均可删除。然后便有了以下2种方式(进入mysql操作界面后):
- table wp_comments;
- * from wp_comments;
其中truncate操作中的table可以省略,delete操作中的*可以省略。这两者都是将wp_comments表中数据清空,不过也是有区别的,如下:
- truncate是整体删除(速度较快), delete是逐条删除(速度较慢)。
- truncate不写服务器log,delete写服务器log,也就是truncate效率比delete高的原因。
- truncate不激活trigger(触发器),但是会重置identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的id数。而delete删除以后,identity依旧是接着被删除的最近的那一条记录id加1后进行记录。
- 如果只需删除表中的部分记录,只能使用delete语句配合where条件。 delete from wp_comments where……
上一篇: 最近在减肥瘦了十几斤
下一篇: 还是女的大
推荐阅读
-
MySQL删除表操作实现(delete、truncate、drop的区别)
-
Mysql数据库中数据表的优化、外键与三范式用法实例分析
-
t-sql清空表数据的两种方式示例(truncate and delete)
-
Mysql清空表(truncate)与删除表中数据(delete)的区别
-
mysql删除表中重复数据,只保留一个最小的id的记录
-
MySQL中Update、select联用操作单表、多表,及视图与临时表的区别
-
php中批量删除Mysql中相同前缀的数据表的代码
-
MySQL删除数据后磁盘空间的释放情况与表占用空间大小
-
在MYSQL中,truncate与delete的区别介绍
-
MySQL用truncate命令快速清空一个数据库中的所有表