在日常的開發(fā)工作中,經(jīng)常需要對(duì)MySQL中的數(shù)據(jù)進(jìn)行大批量刪除操作。如果手動(dòng)一個(gè)一個(gè)刪除,無疑效率非常低下。因此,我們需要掌握一些高效的MySQL批量刪除操作方法。
DELETE FROM table_name WHERE 條件;
上述代碼是MySQL中最常用的刪除語句。其中,table_name是要進(jìn)行刪除操作的表名,條件是指根據(jù)什么條件來刪除表中的數(shù)據(jù)。例如,我們要?jiǎng)h除某個(gè)表中id字段為3的所有記錄:
DELETE FROM table_name WHERE id=3;
但是,如果我們要?jiǎng)h除大量數(shù)據(jù),每次都執(zhí)行以上代碼將非常麻煩,因此,我們需要使用以下兩種方法:
方法一:
DELETE FROM table_name WHERE 條件 LIMIT 數(shù)量;
其中,LIMIT表示限制每次刪除的數(shù)據(jù)量,數(shù)量是指每次刪除的數(shù)據(jù)條數(shù)。例如,我們要?jiǎng)h除某個(gè)表中id字段為3的所有記錄,每次刪除100條:
DELETE FROM table_name WHERE id=3 LIMIT 100;
方法二:
CREATE TABLE new_table_name SELECT * FROM table_name WHERE 條件; DROP TABLE table_name; RENAME TABLE new_table_name TO table_name;
這種方法是先將條件篩選出來的數(shù)據(jù)保存到新的表中,然后將原表刪除,再將保存數(shù)據(jù)的新表重命名為原表名。例如,我們要?jiǎng)h除某個(gè)表中id字段為3的所有記錄:
CREATE TABLE new_table_name SELECT * FROM table_name WHERE id!=3; DROP TABLE table_name; RENAME TABLE new_table_name TO table_name;
上述代碼將原表中id字段不為3的數(shù)據(jù)保存到新表中,再將原表刪除,最后將新表重命名為原表名,達(dá)到刪除id為3的數(shù)據(jù)的效果。
上一篇mysql大師之路app
下一篇mysql大小寫配置