首页  >  文章  >  数据库  >  如何使用 Python 的 executemany() 方法用字典列表有效地填充 MySQL 数据库?

如何使用 Python 的 executemany() 方法用字典列表有效地填充 MySQL 数据库?

Linda Hamilton
Linda Hamilton原创
2024-11-09 19:32:02249浏览

How can I efficiently populate MySQL databases with lists of dictionaries using Python's executemany() method?

使用 Python 中的 Executemany 有效地向 MySQL 数据库填充字典列表

将大型数据集插入 MySQL 数据库通常会导致效率低下和潜在的数据库问题锁定。要在处理表示为字典列表的数据时解决此问题,请考虑使用executemany() 方法。

在所呈现的场景中,原始方法涉及手动将表的每一行插入数据库,这可以既麻烦又容易出错。为了优化这个过程,executemany() 提供了一种通过单个函数调用执行多个 SQL 语句的便捷方法。

要有效地使用executemany(),请通过从字典中提取值并创建列表来重构数据元组。每个元组代表表的一行,包含每列的相应值。

itemBank = []
for row in rows:
    itemBank.append((
        tempRow2['Item_Name'],
        tempRow1['Item_Price'],
        tempRow3['Item_In_Stock'],
        tempRow4['Item_Max'], 
        getTimeExtra
        )) #append data

接下来,使用参数值的占位符创建 SQL 查询,该参数值将被替换为中元组中的值

q = """ insert ignore into TABLE1 (
        Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) 
        values (%s,%s,%s,%s,%s)           
    """

最后,使用修改后的数据和 SQL 查询执行executemany() 函数。

try:
    x.executemany(q, itemBank)
    conn.commit()
except:
    conn.rollback()

这种方法通过执行多行来显着提高效率单个操作,减少与单个行插入相关的开销。此外,它通过将负载分布在更少的事务上来防止潜在的数据库锁定。

通过利用executemany()将字典列表插入MySQL数据库,开发人员可以简化数据插入过程,提高数据库性能,并最大限度地减少数据插入过程。锁定的风险。

以上是如何使用 Python 的 executemany() 方法用字典列表有效地填充 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn