如何操作删除MySQL数据库表中的大量数据?

234 阅读1分钟

如果需要删除 MySQL 数据库表中的大量数据,可以使用 DELETE 命令。但是一次性删除大量数据可能会导致数据库阻塞,所以建议先备份数据并对删除操作进行分批处理。

以下是一个分批删除表中大量数据的示例代码:

SET autocommit=0;  -- 关闭自动提交事务
SET unique_checks=0;  -- 关闭唯一键约束
SET foreign_key_checks=0;  -- 关闭外键约束

DELETE FROM table_name WHERE condition LIMIT 10000; -- 每次删除 10000 条数据,直到数据全部删除

COMMIT;  -- 提交事务

需要注意的是,上述代码中的 table_name 需要替换为实际的表名,而 condition 则需根据具体删除条件进行修改。

另外,使用以上代码可能导致数据完整性问题,因为关闭了唯一键约束和外键约束,所以进行删除操作时需谨慎。