如何使用Python的`executemany()`方法有效率地將多個字典插入MySQL資料庫?

Mary-Kate Olsen
發布: 2024-11-07 16:30:03
原創
953 人瀏覽過

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

在Python中使用executemany()將多個字典插入MySQL

從網路上抓取資料並插入MySQL

從網路上抓取資料並插入MySQL資料庫時,它是對於優化效能以避免資料庫鎖定至關重要。提供的程式碼演示了一種低效方法,該方法涉及對錶資料的每一行執行單獨的查詢。為了解決這個問題,我們將探討如何利用executemany()方法同時插入多行。

executemany()方法可讓您將參數清單插入到準備好的語句中。它有兩個參數:SQL 語句和參數列表。 SQL 語句應該有參數的佔位符 (%s)。
itemBank = []
for row in rows:
    itemBank.append((
        tempRow2['Item_Name'],
        tempRow1['Item_Price'],
        tempRow3['Item_In_Stock'],
        tempRow4['Item_Max'],
        getTimeExtra
        )) #append data
登入後複製

要在這種情況下使用executemany(),我們首先需要將字典列表轉換為每行的值元組。這可以透過以下方式實現:

q = """ insert ignore into TABLE1 (
        Item_Name, Item_Price, Item_In_Stock, Item_Max, Observation_Date ) 
        values (%s,%s,%s,%s,%s)           
    """
登入後複製

接下來,我們準備帶有參數佔位符的SQL 語句:

try:
    x.executemany(q, itemBank)
    conn.commit()
except:
    conn.rollback()
登入後複製

最後,我們執行executemany() 方法,提供SQL 語句和參數清單:

這種方法透過對錶中的所有行執行單一查詢來顯著提高效能,避免多個單獨查詢的開銷。

以上是如何使用Python的`executemany()`方法有效率地將多個字典插入MySQL資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!