欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql批量刪除數(shù)據(jù)方法及注意事項(xiàng)說明

 更新時(shí)間:2024年01月18日 14:46:10   作者:半桶水專家  
這篇文章主要介紹了mysql批量刪除數(shù)據(jù)方法及注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、批量刪除數(shù)據(jù)的三種常見方法

1、DROP TABLE

用于完全刪除表,包括所有數(shù)據(jù)和表結(jié)構(gòu)。

使用該方法時(shí)應(yīng)慎重,因?yàn)閯h除后無法恢復(fù)。

2、TRUNCATE TABLE

快速刪除表中所有數(shù)據(jù),同時(shí)保留表結(jié)構(gòu)。

可以看作是先執(zhí)行DROP TABLE再執(zhí)行CREATE TABLE的操作。

3、DELETE FROM table

可以刪除表中的所有數(shù)據(jù),同時(shí)保留表結(jié)構(gòu),也可以根據(jù)條件刪除部分?jǐn)?shù)據(jù)。

刪除速度相對(duì)較慢,但具有較高的靈活性。

二、TRUNCATE 和 DELETE 的相同之處

TRUNCATE 和 DELETE

都能夠刪除表中的所有數(shù)據(jù),且保留表結(jié)構(gòu)。

三、TRUNCATE 和 DELETE 的差異

1、事務(wù)回滾

  • TRUNCATE 是 DDL(數(shù)據(jù)定義語言)語句,不支持事務(wù)回滾。
  • DELETE 是 DML(數(shù)據(jù)操作語言)語句,可以執(zhí)行回滾操作。

2、返回值

  • TRUNCATE TABLE 的返回值是0,表示沒有被刪除的行數(shù)。
  • DELETE FROM table 的返回值是被刪除的行數(shù)。

3、InnoDB 支持一個(gè)表一個(gè)文件時(shí)

  • TRUNCATE 會(huì)立即刪除整個(gè)表,不會(huì)激活觸發(fā)器,速度非常快。
  • DELETE FROM table 逐行刪除,會(huì)激活觸發(fā)器,速度較慢。
  • DELETE 操作需要記錄日志,而 TRUNCATE 不需要記錄日志。

4、外鍵約束

當(dāng)表中的列被其他表作為外鍵時(shí),TRUNCATE 操作會(huì)失敗,而 DELETE 操作會(huì)成功。

5、自增列

  • TRUNCATE 操作會(huì)將自增列計(jì)數(shù)復(fù)原,重新從起始值開始。
  • DELETE 操作刪除所有數(shù)據(jù)后,自增列計(jì)數(shù)不會(huì)復(fù)原,仍保持原來的順序自增。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論