在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 ...