Maison >développement back-end >Tutoriel Python >Explication détaillée des précautions d'utilisation d'executemany en python
Cet article explique principalement en détail pythonRemarques sur l'utilisation d'executemany. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer
Utilisation. exécutermany Si les données sont insérées par lots, veuillez faire attention aux points suivants :
#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()
Ici, args est un tableau contenant plusieurs tuples, chacun element Le groupe correspond à une donnée dans mysql. Notez que le %s correspondant à create_day ici n'a pas de guillemets. Il est supposé que performmany effectue d'abord une correspondance régulière sur l'instruction SQL %s, puis intègre la chaîne sur cette base. Si %s est cité ici, "0000-00" apparaîtra une fois inséré dans MySQL -. 00″ tapez une mauvaise date.
Si vous souhaitez insérer plusieurs éléments de données à la fois, il est fortement recommandé d'utiliser executemany. D'après ma propre expérience, il faut 2 à 3 heures pour insérer des données une par une. L'utilisation d'executemany ne prend que 2 heures. - 3 secondes ! ! !
Lorsque executemany et ON DUPLICATE KEY UPDATE sont utilisés ensemble, si vous suivez le mode régulier SQL, c'est-à-dire : sql="insérer dans maTable (jour_créé, nom, nombre) valeurs (%s,%s,% s) ON DUPLICATE KEY UPDATE count=count %s" signalera un bug : pas tous arguments convertis pendant la chaîne pourmatting
Le ci-dessus est L'éditeur vous présente l'utilisation et les précautions de python performmany. J'espère que cela vous sera utile. Si vous avez des questions, veuillez me laisser un message et l'éditeur vous répondra à temps. Je voudrais également vous remercier tous pour votre soutien au site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!