在使用 MySQL 數(shù)據(jù)庫(kù)時(shí),有時(shí)我們需要將數(shù)據(jù)庫(kù)的數(shù)據(jù)數(shù)量清零,如刪除所有的表格數(shù)據(jù)或者某個(gè)表格的數(shù)據(jù)等等。下面我們將介紹兩種常用的方法。
方法一:TRUNCATE TABLE 命令
TRUNCATE TABLE table_name;
其中“table_name”即為要清零的表格名稱(chēng)。TRUNCATE 命令會(huì)直接刪除表格中的所有數(shù)據(jù),但不會(huì)刪除表格本身。
需要注意的是,TRUNCATE 命令是一個(gè) DDL(Data Definition Language)命令,執(zhí)行時(shí)會(huì)立即釋放占用的空間和鎖資源,并且無(wú)法回滾,因此一定要謹(jǐn)慎使用。
方法二:DELETE FROM 命令
DELETE FROM table_name;
與 TRUNCATE 命令不同的是,DELETE 命令是一個(gè) DML(Data Manipulation Language)命令,即數(shù)據(jù)操作語(yǔ)言,其執(zhí)行過(guò)程會(huì)生成大量的日志,因此刪除數(shù)據(jù)時(shí)比 TRUNCATE 命令慢一些。
相對(duì)于 TRUNCATE 命令而言,DELETE 命令更加靈活,可按照條件刪除部分?jǐn)?shù)據(jù),同時(shí)也允許回滾操作。
總的來(lái)說(shuō),若需要?jiǎng)h除整個(gè)表格中的數(shù)據(jù),建議使用 TRUNCATE TABLE 命令,若要按條件刪除部分?jǐn)?shù)據(jù),則可使用 DELETE FROM 命令。