sql >> Database >  >> RDS >> Mysql

Een Python-dictaat gebruiken voor een SQL INSERT-instructie

Ik denk dat de opmerking over het gebruik hiervan met MySQL niet helemaal compleet is. MySQLdb doet geen parametervervanging in de kolommen, alleen de waarden (IIUC) - dus misschien meer zoals

placeholders = ', '.join(['%s'] * len(myDict))
columns = ', '.join(myDict.keys())
sql = "INSERT INTO %s ( %s ) VALUES ( %s )" % (table, columns, placeholders)
# valid in Python 2
cursor.execute(sql, myDict.values())
# valid in Python 3
cursor.execute(sql, list(myDict.values()))

Je ontsnapt echter niet aan de kolommen, dus misschien wil je ze eerst controleren....

Zie http://mail.python.org/pipermail/tutor/ 2010-december/080701.html voor een completere oplossing



  1. Top tien redenen om te migreren van Oracle naar PostgreSQL

  2. Hoe krijg ik UTF-8 werkend in Java-webapps?

  3. In-Memory OLTP:wat is er nieuw in SQL Server 2016

  4. Hoe MariaDB in te stellen om verticale uitvoer te gebruiken