MySQL 清空表(truncate)與刪除表中數據(delete) 詳解


刪除表信息的方式有兩種 :
truncate table table_name;
delete * from table_name;
注 : truncate操作中的table可以省略,delete操作中的*可以省略

truncate、delete 清空表數據的區別 :
1> truncate 是整體刪除 (速度較快),delete是逐條刪除 (速度較慢)
2> truncate 不寫服務器 log,delete 寫服務器 log,也就是 truncate 效率比 delete高的原因
3> truncate 不激活trigger (觸發器),但是會重置Identity (標識列、自增字段),相當於自增列會被置為初始值,又重新從1開始記錄,而不是接着原來的 ID數。而 delete 刪除以后,identity 依舊是接着被刪除的最近的那一條記錄ID加1后進行記錄。如果只需刪除表中的部分記錄,只能使用 DELETE語句配合 where條件

————————————————
版權聲明:本文為CSDN博主「小柴的生活觀」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/chenshun123/article/details/79676446


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM