2014-04-19 2 views
0

j'ai une liste de dictionnaires (environ 20.000 dictionnaires):insérer plusieurs enregistrements à la fois mysql

lista=[{'a':1, 'b':'hello','c':'home'},{'a':2, 'b':'sass','c':'qwwqw'};{'a':3, 'b':'ded','c':'eded'}] 

'a', 'b' et 'c' sont les champs dans une table mysql

Quelle serait la meilleure façon d'insérer cette liste dans ma base de données? Je l'ai essayé mais pas sûr si elle est la meilleure option ...

for i in lista: 
    cursor.execute("insert....", i.value()) 
+1

les écrire dans les fichiers 'csv' et utilisez mysql [' CHARGE data'] (http://dev.mysql.com/doc/refman/5.1/en/load-data.html) – bjhaid

Répondre

0

Vous devriez pouvoir utiliser une instruction d'insertion avec plusieurs lignes de données. Je l'ai fait avant. Voici une partie du manuel de référence de MySQL.

INSERT statements that use VALUES syntax can insert multiple rows. 
To do this, include multiple lists of column values, each enclosed 
within parentheses and separated by commas. Example: 

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9); 

Voici un lien vers cette page.

https://dev.mysql.com/doc/refman/5.5/en/insert.html 
Questions connexes