mysql批量刪除數(shù)據(jù)方法及注意事項(xiàng)說明
一、批量刪除數(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)文章
MySQL中臨時(shí)表的基本創(chuàng)建與使用教程
這篇文章主要介紹了MySQL中臨時(shí)表的基本創(chuàng)建與使用教程,注意臨時(shí)表中數(shù)據(jù)的清空問題,需要的朋友可以參考下2015-12-12當(dāng)Mysql行鎖遇到復(fù)合主鍵與多列索引詳解
這篇文章主要給大家介紹了關(guān)于當(dāng)Mysql行鎖遇到復(fù)合主鍵與多列索引的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09MySQL特定表全量、增量數(shù)據(jù)同步到消息隊(duì)列-解決方案
mysql要同步原始全量數(shù)據(jù),也要實(shí)時(shí)同步MySQL特定庫的特定表增量數(shù)據(jù),同時(shí)對(duì)應(yīng)的修改、刪除也要對(duì)應(yīng),下面就為大家分享一下2021-11-11MySQL-group-replication 配置步驟(推薦)
下面小編就為大家?guī)硪黄狹ySQL-group-replication 配置步驟(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03node連接mysql數(shù)據(jù)庫遇到的問題和解決方案
這篇文章主要介紹了node連接mysql數(shù)據(jù)庫遇到的問題和解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10windows下安裝、卸載mysql服務(wù)的方法(mysql 5.6 zip解壓版安裝教程)
這篇文章主要介紹了windows下安裝、卸載mysql服務(wù)的方法(zip解壓版安裝),需要的朋友可以參考下2016-06-06Mysql行與列的多種轉(zhuǎn)換(行轉(zhuǎn)列,列轉(zhuǎn)行,多列轉(zhuǎn)一行,一行轉(zhuǎn)多列)
在MySQL中,行轉(zhuǎn)列和列轉(zhuǎn)行都是非常有用的操作,本文就來介紹一下Mysql行與列的多種轉(zhuǎn)換,主要包括行轉(zhuǎn)列,列轉(zhuǎn)行,多列轉(zhuǎn)一行,一行轉(zhuǎn)多列,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08