首页 > 数据库 > mysql教程 > 如何使用Python的`executemany()`方法高效地将多个字典插入MySQL数据库?

如何使用Python的`executemany()`方法高效地将多个字典插入MySQL数据库?

Mary-Kate Olsen
发布: 2024-11-07 16:30:03
原创
1058 人浏览过

How Can I Efficiently Insert Multiple Dictionaries into a MySQL Database Using Python's `executemany()` Method?

在Python中使用executemany()将多个字典插入MySQL

从网络上抓取数据并将其插入MySQL数据库时,它是对于优化性能以避免数据库锁定至关重要。提供的代码演示了一种低效方法,该方法涉及对表数据的每一行执行单独的查询。为了解决这个问题,我们将探讨如何利用executemany()方法同时插入多行。

executemany()方法允许您将参数列表插入到准备好的语句中。它有两个参数:SQL 语句和参数列表。 SQL 语句应该有参数的占位符 (%s)。

要在这种情况下使用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)           
    """
登录后复制

最后,我们执行executemany() 方法,提供SQL 语句和参数列表:

try:
    x.executemany(q, itemBank)
    conn.commit()
except:
    conn.rollback()
登录后复制

这种方法通过对表中的所有行执行单个查询来显着提高性能,避免多个单独查询的开销。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板