在工作中,Python 自动将数据写入 MySQL 数据库的需求很常见。本文详细介绍了如何将千万级数据高效写入 MySQL 数据库,涵盖两种场景和三种方法。
当数据不需要频繁写入 MySQL 时,可以使用 Navicat 工具的导入向导功能。该工具支持多种文件格式,并能自动建表或向已有表中插入数据。
对于需要自动化并频繁写入 MySQL 的增量数据,作者提供了两种方法:
使用 Python 结合 pymysql 库,通过分块处理和遍历,将数据批量写入到 MySQL。这种方法需要先安装 pymysql,并且代码量较大。实现过程中涉及数据库连接设置、分块读取 CSV 文件、构造 SQL 语句并执行。
结合 Pandas 和 sqlalchemy,利用简洁的代码实现了相同的功能。此方法不需要预先建立数据库表,且效率更高。
pymysql 方法耗时约 12 分 47 秒,而 Pandas 方法只需约 4 分钟。考虑到代码量和效率,作者建议使用第二种方法。对于追求更高速度的用户,建议尝试多进程或多线程。
文末提供了三种数据存入 MySQL 的方法总结,并推荐了相关的 Python 进阶阅读材料,包括多任务进程、PDF 数据提取、桌面小工具开发及桑基图绘制等。