在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中文網其他相關文章!