sql >> Database >  >> RDS >> Mysql

Python-lijst (JSON of anderszins) invoegen in MySQL-database

U moet de MySQL-bibliotheek de parameterafhandeling voor u laten doen; dit heeft als bijkomend voordeel dat MySQL uw verklaring kan voorbereiden, waardoor herhaalde invoegingen ook sneller gaan:

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

Zie de Python DB API 2.0-specificatie voor (wat) meer details over geparametriseerde SQL. De exacte ondersteunde parameterformaten zijn gedocumenteerd per database-adapter, dus controleer dat ook. De MySQLdb-module bootst bijvoorbeeld de python-tekenreeksopmaaksyntaxis na en gebruikt %s als tijdelijke aanduidingen:

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"

Andere mogelijke parameteropties zijn getallen (:1, :2 , enz.), namen (:foo, :bar ) of de andere vorm van python-tekenreeksopmaak, met de naam formaatspecificaties:(%(foo)s, %(bar)s ).



  1. Hoe een MySql-select-instructie te schrijven om alle gedefinieerde instellingen of standaardinstellingen te krijgen die niet worden overschreven voor een id in één instructie

  2. Hoe geef je het wachtwoord door aan pg_dump?

  3. Hoe 'distinct' te gebruiken in zend db-model

  4. jQuery automatisch aanvullen om te werken met PHP-bron