主頁 > 知識庫 > mysql清空表數據的兩種方式和區別解析

mysql清空表數據的兩種方式和區別解析

熱門標簽:昌德訊外呼系統 電話機器人的價格多少錢一個月 百度地圖標注要什么軟件 400電話申請廠家現貨 福建外呼電銷機器人加盟 中國地圖標注公司 徐涇鎮騰訊地圖標注 天津公司外呼系統軟件 自己做地圖標注需要些什么

在MySQL中刪除數據有兩種方式:

  1. truncate(截短)屬于粗暴型的清空
  2. delete屬于精細化的刪除

刪除操作

如果你需要清空表里的所有數據,下面兩種均可:

delete from tablename;
truncate table tablename;

而如果你只是刪除一部分數據,就只能使用delete:

delete from tablename where case1 and case2;

區別

在精細化的刪除部分數據時,只能使用delete。
而清空所有表數據時,兩者均可,此時這兩種方式有一定的區別:

返回值

truncate返回值為0,而delete會返回被刪除的記錄數

mysql> truncate serviceHost;
Query OK, 0 rows affected (0.04 sec)
mysql> delete from serviceHost where creator='test';
Query OK, 4 rows affected (0.01 sec)

自增字段

如果表中有自增字段,truncate會重置為1,而delete會保持自增的最大值。

執行效率

truncate不掃描表,相當于重新創建了表,只保留了表的結構,然后刪除掉原有表,效率非常高。
delete會掃描全表,根據where語句做判斷,因此效率低。

操作日志

truncate不寫服務器日志,無法恢復。
delete會寫服務器日志。

觸發器

truncate不激活觸發器,delete會激活觸發器。

總結

以上所述是小編給大家介紹的mysql清空表數據的兩種方式和區別解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • MySQL清空數據表的方法實例與分析
  • MySQL數據表字段內容的批量修改、清空、復制等更新命令
  • asp php 清空access mysql mssql數據庫的代碼

標簽:荊門 昌都 陜西 北京 黔西 鄂爾多斯 駐馬店 梅河口

巨人網絡通訊聲明:本文標題《mysql清空表數據的兩種方式和區別解析》,本文關鍵詞  mysql,清空,表,數據,的,兩種,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql清空表數據的兩種方式和區別解析》相關的同類信息!
  • 本頁收集關于mysql清空表數據的兩種方式和區別解析的相關信息資訊供網民參考!
  • 推薦文章
    2020久久精品亚洲|久久窝窝国产精品午夜看片|亚洲 日韩 激情 无码 中出|国产精品乱码高清在线