Python uppdatera tabell

Uppdatera tabell

Du kan använda "UPDATE"-satsen för att uppdatera befintliga poster i tabellen:

Exempel

Ersätt "Valley 345" i adresskolumnen med "Canyoun 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, "post(s) affected")

Kör Exempel

Viktigt:Vänligen notera meningen mydb.commit()Det måste göras ändringar, annars kommer tabellen inte att förändras.

Vänligen notera WHERE-satsen i UPDATE-syntaksen: WHERE-satsen specificerar vilka poster som ska uppdateras. Om WHERE-satsen utelämnas kommer alla poster att uppdateras!

Förhindra SQL-injektion

Det är en bra vana att escapera alla värden i en update-sats.

Detta är för att förhindra SQL-injektion, en vanlig nätverkshackareteknik som kan skada eller missbruka din databas.

mysql.connector-modulen använder placeholder %s För att escapera värden i delete-satsen:

Exempel

Använd metoden att ersätta med %s för att escapera värden:

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, "post(s) affected")

Kör Exempel