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

Indsæt Python List (JSON eller andet) i MySQL-databasen

Du skal lade MySQL-biblioteket klare parameterhåndteringen for dig; dette har den ekstra fordel at lade MySQL forberede din erklæring, hvilket også gør gentagne indsættelser hurtigere:

cur = con.cursor()    
sql_input = "INSERT INTO 963168MBV17A(Rev, Part, SN, Iterations, Date, Time, Upstream, Downstream, ResultList, Result, Report) VALUES('503', '100-120970-0031', '1594539', ?, ?, ?, ?, ?, 0, P, 0"
cur.execute(sql_input, (export_date, export_time, export_numtests, export_upstream, export_downstream))

Se Python DB API 2.0-specifikationen for (nogle) flere detaljer om parametriseret SQL. De nøjagtige understøttede parameterformater er dokumenteret pr. databaseadapter, så tjek det også. MySQLdb-modulet efterligner f.eks. python-strengens formateringssyntaks og bruger %s som pladsholdere:

sql_input = "INSERT INTO 963168MBV17A(Rev, Part, SN, Iterations, Date, Time, Upstream, Downstream, ResultList, Result, Report) VALUES('503', '100-120970-0031', '1594539', %s, %s, %s, %s, %s, 0, P, 0"

Andre mulige parameterindstillinger er tal (:1, :2 osv.), navne (:foo, :bar ) eller den anden form for python-strengformatering, navngivne formatspecifikationer:(%(foo)s, %(bar)s ).



  1. PHP/MySQL - Lagring af array-data som JSON, dårlig praksis?

  2. mysql_real_escape_string er udefineret

  3. To fremmednøgler i samme kolonne fra en tabel

  4. Optælling af antallet af rækker i en tabel