mysql清空表資料的兩種方式和區別

2021-10-01 15:14:51 字數 917 閱讀 5304

在mysql中刪除資料有兩種方式:

1、truncate(截短)屬於粗暴型的清空

2、delete屬於精細化的刪除

刪除操作

如果你需要清空表裡的所有資料,下面兩種均可:

delete from tablename;

truncate table tablename;

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

delete from tablename where case1 and case2;
區別

在精細化的刪除部分資料時,只能使用delete。

而清空所有表資料時,兩者均可,此時這兩種方式有一定的區別:

1、返回值

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)

2、自增字段

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

3、執行效率

truncate不掃瞄表,相當於重新建立了表,只保留了表的結構,然後刪除掉原有表,效率非常高。

delete會掃瞄全表,根據where語句做判斷,因此效率低。

4、操作日誌

truncate不寫伺服器日誌,無法恢復。

delete會寫伺服器日誌。

5、觸發器

truncate不啟用觸發器,delete會啟用觸發器。

表的兩種連線方式

內連線 也稱為等值連線 或稱連線,還可以被稱為普通連線或者自然連線 是最早的一種連線方式,內連線是從結果表中刪除與其他被連線表中沒有匹配行的所有無組,所以當匹配條件不滿足時內連線可能會丟失資訊。在where子句中設定的消除笛卡積的條件就是採用了等值判斷的方式進行的。外連線 內連線中只能顯示等值滿足的...

MySQL 兩種登入方式

可以參考我的 mysql 用批處理指令碼bat快速啟動 關閉mysql 或者在計算機的服務那裡開啟,設為手動或自動 即開始選單的mysql5.5 command line client 登入 mysql h主機名 p埠號 u使用者名稱 p密碼 如mysql h localhost p 3306 u ...

MySQL的兩種安裝方式

安裝軟體前,檢查是否已經安裝 rpm qa grep mysql 存在,強制解除安裝 sudo rpm e mysql libs 5.1.71 1.el6.x86 64 nodeps 安裝mysql server sudo rpm ivh mysql community server 5.7.21 ...