ホームページ >データベース >mysql チュートリアル >Python のexecutemanyを使用して辞書のリストをMySQLデータベースに効率的に挿入するにはどうすればよいですか?

Python のexecutemanyを使用して辞書のリストをMySQLデータベースに効率的に挿入するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-07 22:25:03878ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。