mysql命令truncate(清空表)和delete(删除表)的区别

1、truncate table 表名;

2、delete * from 表名

truncate的table可以省略

delete的*可以省略

truncate是整体删除(速度较快), delete是逐条删除(速度较慢)。

truncate不写服务器log,delete写服务器log,这就是truncate效率比delete高的原因。

truncate不激活trigger(触发器),但是会重置Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从1开始记录,而不是接着原来的ID数。而delete删除以后,Identity依旧是接着被删除的最近的那一条记录ID加1后进行记录。

如果只需删除表中的部分记录,只能使用DELETE语句配合where条件。 DELETE FROM wp_comments WHERE……

————————————————

版权声明:本文为CSDN博主「吃井不忘挖水人」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_41399976/article/details/90712609

—————————————————————————————————————

亲爱的用户,您好!如果您喜欢这个网站,欢迎赞助我,您的支持是我的动力。

赞赏款用于服务器、文章等网站的固定支出。欢迎大家支持,谢谢!

51cb4e9a9397260f1f774ee07de0b77.jpg