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

Python- und MySQL-Abfrage mit Anführungszeichen

So fügen Sie einer Anweisung Parameter hinzu.

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

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

Siehe MySQLCursor.execute() .

In diesem Beispiel müssen Sie die Werte nicht explizit in Anführungszeichen setzen, da Sie sie nicht in Ihr SQL einfügen. Außerdem ist dies sicherer, denn wenn der String ein End-Anführungszeichen und bösartiges SQL enthält, wird er nicht ausgeführt.

Sie können den Tabellennamen nicht als Parameter hinzufügen, wenn das also in einer Variablen wäre, würden Sie es tun müssen Sie das in Ihr SQL kleben:

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