この記事では主に詳しく説明していますpythonexecutemanyの使い方Notesは非常に優れており、必要な友達は参考にしてください
executemanyを使用してデータを一括挿入する場合は、次の点に注意する必要があります。 things:
#coding:utf8 conn = MySQLdb.connect(host = “localhost”, user = “root”, passwd = “123456”, db = “myDB”) cursor = conn.cursor() sql = “insert into myTable (created_day,name,count) values(%s,%s,%s) ON DUPLICATE KEY UPDATE count=count+values(count)” args=[("2012-08-27","name1",100),("2012-08-27","name1",200),("2012-08-27","name2",300)] try: cursor.executemany(sql, args) except Exception as e: print0(“执行MySQL: %s 时出错:%s” % (sql, e)) finally: cursor.close() conn.commit() conn.close()
ここでの args は、複数のタプルを含む array です。ここでの created_day に対応する %s には引用符が含まれていないことに注意してください。ここで %s が引用符で囲まれている場合、executemany は最初に SQL ステートメント %s で通常の一致を実行し、次にこれに基づいて string を埋め込むと推測されます。mysql に挿入されたときに「0000-00-00」タイプが表示されます。間違った日付。
一度に多くのデータを挿入したい場合は、executemany を使用することを強くお勧めします。私の経験から言えば、データを 1 つずつ挿入するには 2 ~ 3 時間かかりますが、executemany を使用すると 2 ~ 3 秒しかかかりません。 ! !
executemany を ON DUPLICATE KEY UPDATE と一緒に使用する場合、通常の SQL モードに従う場合、つまり: sql="insert into myTable (created_day,name,count) names(%s,%s,%s) ON DUPLICATE KEY UPDATE count=count+%s" will reports a bug: not all argument Converted while string formatting
以上、エディターが紹介したPythonexecutemanyの使い方と注意点です。参考になれば幸いです。皆様、ご質問がございましたら、メッセージを残してください。編集者が時間内に返信させていただきます。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。
以上がPythonでexecutemanyを使う際の注意点を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。