Maison >développement back-end >Tutoriel Python >Explication détaillée des précautions d'utilisation d'executemany en python

Explication détaillée des précautions d'utilisation d'executemany en python

高洛峰
高洛峰original
2017-03-14 13:11:443584parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn