Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête Python et MySQL avec guillemets

Voici comment ajouter des paramètres à une instruction.

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

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

Voir MySQLCursor.execute() .

Dans cet exemple, vous n'avez pas à citer explicitement les valeurs car vous ne les collez pas dans votre SQL. De plus, c'est plus sûr, car si la chaîne contient un guillemet final et du code SQL malveillant, elle ne sera pas exécutée.

Vous ne pouvez pas ajouter le nom de la table en tant que paramètre, donc si c'était dans une variable, vous le feriez devez coller cela dans votre SQL :

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