ホームページ >バックエンド開発 >Python チュートリアル >executemanyの使い方を詳しく解説

executemanyの使い方を詳しく解説

Y2J
Y2Jオリジナル
2017-05-15 10:42:1310333ブラウズ

この記事ではPythonのexecutemanyの使い方と注意点を中心に紹介していますので、必要な方は参考にしてください

データを一括挿入する場合は以下の点に注意してください。 :

#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()

here args 複数のタプルを含む array です。各タプルは、mysql のデータの一部に対応します。ここでの 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" はバグを報告します: 文字列のフォーマット中に一部の引数が変換されない

[関連推奨事項]

1. 特別な推奨事項: 「php Programmer Toolbox」V0.1 バージョンのダウンロード

2. Python の無料ビデオチュートリアル

3. Python オブジェクト指向のビデオチュートリアル

以上がexecutemanyの使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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