Tabella di aggiornamento Python MySQL
Aggiorna tabella
Puoi aggiornare i record esistenti in una tabella utilizzando l'istruzione "UPDATE":
Esempio
Sovrascrivi la colonna dell'indirizzo da "Valle 345" a "Canyon 123":
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor =
mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123'
WHERE address = 'Valley 345'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
Importante!: Notare la dichiarazione:
mydb.commit()
. È necessario apportare le modifiche, altrimenti non vengono apportate modifiche alla tabella.
Si noti la clausola WHERE nella sintassi UPDATE: la clausola WHERE specifica quale record o record devono essere aggiornati. Se ometti la clausola WHERE, tutti i record verranno aggiornati!
Impedisci l'iniezione di SQL
È considerata una buona pratica evitare i valori di qualsiasi query, anche nelle istruzioni di aggiornamento.
Questo serve a prevenire le iniezioni SQL, che è una tecnica di hacking Web comune per distruggere o utilizzare in modo improprio il database.
Il modulo mysql.connector utilizza il segnaposto %s
per eseguire l'escape dei valori nell'istruzione delete:
Esempio
Esci dai valori usando il %s
metodo del segnaposto:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "UPDATE customers SET address = %s
WHERE address = %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record(s)
affected")