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-TutorialDas 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!