Pythonでexecutemanyを使う際の注意点を詳しく解説

高洛峰
リリース: 2017-03-14 13:11:44
オリジナル
3522 人が閲覧しました

この記事では主に詳しく説明しています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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート