Mysql清空表數(shù)據(jù)

Mysql清空表(truncate)與刪除表中數(shù)據(jù)(delete)的區(qū)別

為某基于wordpress搭建的博客長(zhǎng)久未除草,某天升級(jí)的時(shí)候發(fā)現(xiàn)已經(jīng)被插入了幾萬條垃圾留言,如果一條條刪除那可真是累人的活。遂考慮直接進(jìn)入mysql直接清空表或者刪除表中數(shù)據(jù)。

本文記錄一下這2種操作模式的區(qū)別,目標(biāo)對(duì)象是表wp_comments,里面的所有留言均是垃圾留言,均可刪除。然后便有了以下2種方式(進(jìn)入mysql操作界面后):

  1. truncate table wp_comments;
  2. delete * from wp_comments;

其中truncate操作中的table可以省略,delete操作中的*可以省略。這兩者都是將wp_comments表中數(shù)據(jù)清空,不過也是有區(qū)別的,如下:

  • truncate是整體刪除(速度較快), delete是逐條刪除(速度較慢)。
  • truncate不寫服務(wù)器log,delete寫服務(wù)器log,也就是truncate效率比delete高的原因。
  • truncate不激活trigger(觸發(fā)器),但是會(huì)重置Identity(標(biāo)識(shí)列、自增字段),相當(dāng)于自增列會(huì)被置為初始值,又重新從1開始記錄,而不是接著原來的ID數(shù)。而delete刪除以后,Identity依舊是接著被刪除的最近的那一條記錄ID加1后進(jìn)行記錄。
  • 如果只需刪除表中的部分記錄,只能使用DELETE語句配合where條件。 DELETE FROM wp_comments WHERE……

全文完。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。