Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zur Verwendung vonexecutemany

Ausführliche Erklärung zur Verwendung vonexecutemany

Y2J
Y2JOriginal
2017-05-15 10:42:1310285Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung und Vorsichtsmaßnahmen von Python Executemany vor. Er ist sehr gut und hat Referenzwert.

Wenn Sie ExecuteMany zum Batch-Einfügen von Daten verwenden, sollten Sie dafür bezahlen Beachten Sie einige Dinge. :

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

Hier ist args ein Array, das mehrere Tupel enthält, die einem Datenelement in MySQL entsprechen enthält keine Anführungszeichen. Es wird spekuliert, dassexecutemany zunächst einen regulären Abgleich mit der SQL-Anweisung %s durchführt und dann die Zeichenfolge auf dieser Basis einbettet. Wenn %s hier in Anführungszeichen steht, wird beim Einfügen in MySQL „0000-00“ angezeigt. 00″ falsches Datum eingeben.

Wenn Sie viele Daten gleichzeitig einfügen möchten, wird die Verwendung vonexecutemany dringend empfohlen. Nach meiner eigenen Erfahrung dauert das Einfügen von Daten einzeln 2-3 Stunden - 3 Sekunden! ! !

Wenn „executemany“ und „ON DUPLICATE KEY UPDATE“ zusammen verwendet werden, wenn Sie dem regulären SQL-Modus folgen, d. s) ON DUPLICATE KEY UPDATE count=count+%s" meldet einen Fehler: Nicht alle Argumente werden während der Zeichenfolgenformatierung konvertiert

[Verwandte Empfehlungen]

1.

Besondere Empfehlung : „php Programmer Toolbox“ V0.1 Version herunterladen

2.

Python kostenloses Video-Tutorial

3 🎜 >Objektorientiertes Python-Video-Tutorial

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Verwendung vonexecutemany. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn