Python MySQL -updatetabel
Tabel bijwerken
U kunt bestaande records in een tabel bijwerken met de instructie "UPDATE":
Voorbeeld
Overschrijf de adreskolom van "Valley 345" naar "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")
Belangrijk!: Let op de verklaring:
mydb.commit()
. Het is vereist om de wijzigingen aan te brengen, anders worden er geen wijzigingen in de tabel aangebracht.
Let op de WHERE-component in de UPDATE-syntaxis: De WHERE-component geeft aan welke record of records moeten worden bijgewerkt. Als u de WHERE-clausule weglaat, worden alle records bijgewerkt!
SQL-injectie voorkomen
Het wordt als een goede gewoonte beschouwd om te ontsnappen aan de waarden van elke query, ook in update-instructies.
Dit is om SQL-injecties te voorkomen, een veelgebruikte hacktechniek om uw database te vernietigen of te misbruiken.
De module mysql.connector gebruikt de tijdelijke aanduiding %s
om waarden in de delete-instructie te escapen:
Voorbeeld
Escape-waarden met behulp van de placeholder- %s
methode:
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")