Python opdater tabel

Opdater tabel

Du kan bruge "UPDATE"-sætningen til at opdatere eksisterende poster i tabellen:

Eksempel

Overskriv "Valley 345" i kolonnen med adresser til "Canyon 123":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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")

Kør Eksempel

Vigtigt:Bemærk sætningen mydb.commit()der skal ændres, ellers vil der ikke være nogen ændringer.

Bemærk WHERE-sætningen i UPDATE-syntaksen: WHERE-sætningen angiver de poster, der skal opdateres. Hvis WHERE-sætningen udelades, opdateres alle poster!

Forebygg SQL-injektion

Det er en god vane at escape alle værdier i update-sætninger.

Dette gøres for at forhindre SQL-injektion, som er en almindelig netthacker-teknik, der kan ødelægge eller misbruge din database.

mysql.connector-modulen bruger placeholders %s Brug placeholder %s til at escape værdier i delete-sætninger:

Eksempel

Brug metoden med placeholder %s til at escape værdier:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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")

Kør Eksempel