MySQL – truncate 和 delete
删除表信息的方式有两种:
truncate table table_name;
delete * from table_name;
truncate 操作中的 table 可以省略,delete 操作中的 * 可以省略。
truncate 是清空,delete 是删除。
truncate 和 delete 清空表数据的区别:
truncate是整体删除(速度较快),delete是逐条删除(速度较慢);truncate不写服务器 log,delete写服务器 log,也就是truncate效率比delete高的原因;truncate不激活 trigger(触发器),但是会重置 Identity(标识列、自增字段),相当于自增列会被置为初始值,又重新从 1 开始记录,而不是接着原来的 ID 数。而delete删除以后,identity 依旧是接着被删除的最近的那一条记录 ID 加 1 后进行记录。如果只需删除表中的部分记录,只能使用 DELETE 语句配合 where 条件;
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END










