首页  >  文章  >  数据库  >  如何使用Python的executemany高效地将字典列表插入MySQL数据库?

如何使用Python的executemany高效地将字典列表插入MySQL数据库?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-07 22:25:03740浏览

How to Efficiently Insert a List of Dictionaries into a MySQL Database Using Python's executemany?

使用executemany从Python将字典列表插入MySQL

在Python中,executemany是一个很有价值的工具,可以高效地将多行插入到MySQL中MySQL 数据库。考虑以下场景:您有一个名为 itemBank 的字典列表,每个字典代表表中一行的数据。要将这些数据插入到 TABLE1 表中,您当前正在使用一种费力的方法,该方法涉及对每一行执行单独的 SQL 查询。

为了优化此过程,让我们探索如何使用executemany。第一步是将 itemBank 重组为元组列表。每个元组将包含要插入数据库的值,这些值是从相应的字典中提取的。

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

接下来,构建一个 SQL 查询模板 (q),该模板定义要插入的值的表列和占位符。

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

最后使用executemany方法执行以元组列表(itemBank)为参数的查询。

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

这种方法大大减少了执行SQL查询,从而提高数据插入过程的效率。

以上是如何使用Python的executemany高效地将字典列表插入MySQL数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

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