Questo è il modo in cui aggiungi parametri a un'istruzione.
sql = "INSERT INTO my_table VALUES (%s, %s, %s);"
cursor.execute(sql, [string1, string2, string3])
Vedi MySQLCursor.execute()
.
In questo esempio non devi citare esplicitamente i valori perché non li stai incollando nel tuo SQL. Inoltre, questo è più sicuro, perché se la stringa contiene un apice finale e un SQL dannoso, non verrà eseguita.
Non puoi aggiungere il nome della tabella come parametro, quindi se fosse in una variabile dovresti devi incollarlo nel tuo SQL:
sql = "INSERT INTO {} VALUES (%s, %s, %s);".format(table_name)