sql >> Databasteknik >  >> RDS >> Mysql

Infoga Python List (JSON eller annat) i MySQL-databasen

Du måste låta MySQL-biblioteket sköta parameterhanteringen åt dig; detta har den extra fördelen att låta MySQL förbereda ditt uttalande, vilket också gör upprepade inlägg snabbare:

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 för (vissa) mer information om parametriserad SQL. De exakta parameterformaten som stöds dokumenteras per databasadapter, så kontrollera det också. MySQLdb-modulen, till exempel, efterliknar pythonsträngens formateringssyntax och använder %s som platshållare:

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"

Andra möjliga parameteralternativ är siffror (:1, :2 , etc.), namn (:foo, :bar ) eller den andra formen av pythonsträngformatering, namngivna formatspecifikationer:(%(foo)s, %(bar)s ).



  1. Hur man designar en mysql-databas med flera hyresgäster

  2. php Fråga INNER gå med i tabeller

  3. Skapa en Inline Table-Valued Function (ITVF) i SQL Server

  4. Kan MySQL-systemets databastabeller konverteras till InnoDB?