Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fügen Sie die Python-Liste (JSON oder andere) in die MySQL-Datenbank ein

Sie müssen die MySQL-Bibliothek die Parameterbehandlung für Sie erledigen lassen; Dies hat den zusätzlichen Vorteil, dass MySQL Ihre Anweisung vorbereiten kann, wodurch auch wiederholte Einfügungen schneller werden:

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

Siehe Python DB API 2.0-Spezifikation für (einige) weitere Details zu parametrisiertem SQL. Die genauen unterstützten Parameterformate sind pro Datenbankadapter dokumentiert, also überprüfen Sie das auch. Das MySQLdb-Modul ahmt beispielsweise die Python-String-Formatierungssyntax nach und verwendet %s als Platzhalter:

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 mögliche Parameteroptionen sind Zahlen (:1, :2 , etc.), Namen (:foo, :bar ) oder die andere Form der Python-Zeichenfolgenformatierung, benannte Formatbezeichner:(%(foo)s, %(bar)s ).