Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на Python dict за SQL INSERT израз

Мисля, че коментарът за използването на това с MySQL не е съвсем пълен. MySQLdb не извършва заместване на параметри в колоните, а само стойностите (IIUC) - така че може би повече като

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()))

Въпреки това няма да избягате от колоните, така че може да искате първо да ги проверите...

Вижте http://mail.python.org/pipermail/tutor/ 2010-декември/080701.html за по-пълно решение



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получа ID на последния актуализиран ред в MySQL?

  2. Вмъкване в MySQL от PHP (jQuery/AJAX)

  3. Най-добрият тип данни за съхраняване на парични стойности в MySQL

  4. Инсталирайте MySQL на Ubuntu 14.04

  5. Как да групирате по седмица в MySQL?