Mysql三種常用的刪除數(shù)據(jù)或者表的方式
前言
在 MySQL 中,有三種常用的方式可以刪除表中的數(shù)據(jù)或整個(gè)表,它們分別是 TRUNCATE、DROP 和 DELETE。
TRUNCATE TABLE
TRUNCATE TABLE屬于DDL語言,不走事務(wù),數(shù)據(jù)不會回滾
TRUNCATE TABLE 語句會刪除表中的所有數(shù)據(jù),但保留表的結(jié)構(gòu),同時(shí)重置自增主鍵,釋放空間
語法:
TRUNCATE TABLE table_name;
DROP TABLE
DROP TABLE屬于DDL語言,不走事務(wù),數(shù)據(jù)不會回滾
DROP TABLE 語句會完全刪除表,包括表的結(jié)構(gòu)和其中的數(shù)據(jù)。它會永久刪除表,立即釋放空間,無法撤銷。
語法:
DROP TABLE [IF EXISTS] table_name;
如果指定了 IF EXISTS,則在表不存在時(shí)不會報(bào)錯,直接返回操作成功。例如,DROP TABLE IF EXISTS employees; 將刪除名為 employees 的表,如果該表存在的話。
DELETE
DELETE屬于DML操作語言,只會刪除數(shù)據(jù)不會刪除表結(jié)構(gòu),會走事務(wù),可回滾
DELETE 語句用于逐行刪除表中的數(shù)據(jù),可以根據(jù)指定的條件刪除特定的行。
語法:
DELETE FROM table_name [WHERE condition];
DELETE 語句是一種較為慢速和資源密集的操作,因?yàn)樗鼘⒅鹦袆h除表中的數(shù)據(jù),并且會觸發(fā)事務(wù)日志和觸發(fā)器等操作。如果只是想刪除表中的數(shù)據(jù)而不是整個(gè)表,TRUNCATE TABLE 操作通常更快和更高效。
使用 DELETE 語句刪除表中的數(shù)據(jù)并不會立即釋放磁盤空間,當(dāng)你執(zhí)行 DELETE 語句刪除行時(shí),實(shí)際上是將這些行標(biāo)記為已刪除,但數(shù)據(jù)仍然占用磁盤空間。
如果你希望立即釋放磁盤空間,可以使用 OPTIMIZE TABLE 命令。該命令將重建表,并且可以壓縮表的數(shù)據(jù),從而釋放已刪除行所占用的空間。
到此這篇關(guān)于Mysql三種常用的刪除數(shù)據(jù)或者表的方式的文章就介紹到這了,更多相關(guān)Mysql 刪除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL誤刪數(shù)據(jù)恢復(fù)之Binlog回放+全量備份+延遲從庫的三種方案實(shí)戰(zhàn)
這篇文章主要介紹了MySQL數(shù)據(jù)誤刪后的恢復(fù)流程,詳細(xì)介紹了誤刪場景、恢復(fù)方案及預(yù)防措施,覆蓋了從止血到恢復(fù)的全過程,強(qiáng)調(diào)了全量備份與Binlog增量回放的重要性,需要的朋友可以參考下2026-06-06
在Mysql環(huán)境下對數(shù)據(jù)進(jìn)行增刪改查的操作方法
本文介紹了在MySQL環(huán)境下對數(shù)據(jù)進(jìn)行增刪改查的基本操作,包括插入數(shù)據(jù)、修改數(shù)據(jù)、刪除數(shù)據(jù)、數(shù)據(jù)查詢(基本查詢、連接查詢、聚合函數(shù)查詢、子查詢)等,并舉例說明了每種操作的具體用法,感興趣的朋友跟隨小編一起看看吧2025-02-02
MySQL時(shí)間分區(qū)表的創(chuàng)建與數(shù)據(jù)清理
分區(qū)表是將一個(gè)大表在物理上分割成多個(gè)小表(分區(qū)),而在邏輯上仍然表現(xiàn)為一個(gè)完整表的技術(shù),本文將深入探討MySQL時(shí)間分區(qū)表的原理、創(chuàng)建方法以及如何高效清理過期分區(qū)數(shù)據(jù),感興趣的可以了解下2025-04-04
MySQL千萬級大表進(jìn)行數(shù)據(jù)清理的幾種常見方案
當(dāng)MySQL數(shù)據(jù)庫中的表數(shù)據(jù)量達(dá)到千萬級別時(shí),直接對數(shù)據(jù)進(jìn)行刪除操作將面臨嚴(yán)重的性能問題,可能會導(dǎo)致數(shù)據(jù)庫長時(shí)間的鎖表,因此,如何安全高效地進(jìn)行數(shù)據(jù)清理成為一個(gè)亟需解決的問題,下面我將分享幾種常見的數(shù)據(jù)清理方案,需要的朋友可以參考下2023-11-11
Mysql?InnoDB?的內(nèi)存結(jié)構(gòu)詳情
這篇文章主要介紹了Mysql InnoDB的內(nèi)存結(jié)構(gòu)詳情,InnoDB存儲引擎的邏輯存儲結(jié)構(gòu)是什么呢,下面我們就一起進(jìn)入文章了解更多詳細(xì)內(nèi)容吧,感興趣的小伙伴可以參考一下2022-05-05

