Mysql
 sql >> Database >  >> RDS >> Mysql

Come memorizzare il dizionario python in mysql DB tramite python

Prima di tutto, non costruire mai query SQL grezze del genere. Mai e poi mai. A questo servono le query parametrizzate. Hai richiesto un SQL injection attacco.

Se vuoi archiviare dati arbitrari, come ad esempio i dizionari Python, dovresti serializzare quei dati. JSON sarebbe una buona scelta per il formato.

Nel complesso il tuo codice dovrebbe apparire così:

import MySQLdb
import json

db = MySQLdb.connect(...)    
cursor = db.cursor() 

dic = {'office': {'component_office': ['Word2010SP0', 'PowerPoint2010SP0']}}
sql = "INSERT INTO ep_soft(ip_address, soft_data) VALUES (%s, %s)"

cursor.execute(sql, ("192.xxx.xx.xx", json.dumps(dic)))
cursor.commit()