sql >> Databasteknik >  >> RDS >> Mysql

Python och MySQL-fråga med citattecken

Så här lägger du till parametrar i en sats.

sql = "INSERT INTO my_table VALUES (%s, %s, %s);"

cursor.execute(sql, [string1, string2, string3])

Se MySQLCursor.execute() .

I det här exemplet behöver du inte uttryckligen citera värdena eftersom du inte limmar in dem i din SQL. Detta är också säkrare, för om strängen innehåller ett slutcitattecken och dem en skadlig SQL, kommer den inte att köras.

Du kan inte lägga till tabellnamnet som en parameter, så om det fanns i en variabel skulle måste limma in det i din SQL:

sql = "INSERT INTO {} VALUES (%s, %s, %s);".format(table_name)



  1. MySQL-post som skulle vara föremål för TTL

  2. Skicka parametrar till MySQL-skript

  3. Stamtavla/släktträdsdiagram från databasen

  4. Zend\Db:Välj från underfråga