Python MySQL Güncelleme Tablosu
Tabloyu Güncelle
"UPDATE" ifadesini kullanarak bir tablodaki mevcut kayıtları güncelleyebilirsiniz:
Örnek
"Valley 345" ile "Canyon 123" arasındaki adres sütununun üzerine yazın:
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")
Önemli!: Şu ifadeye dikkat edin:
mydb.commit()
. Değişikliklerin yapılması zorunludur, aksi halde tabloda herhangi bir değişiklik yapılmaz.
UPDATE sözdizimindeki WHERE yan tümcesine dikkat edin: WHERE yan tümcesi, hangi kayıt veya kayıtların güncellenmesi gerektiğini belirtir. WHERE yan tümcesini atlarsanız, tüm kayıtlar güncellenecektir!
SQL Enjeksiyonunu Önle
Güncelleme ifadelerinde de herhangi bir sorgunun değerlerinden kaçmak iyi bir uygulama olarak kabul edilir.
Bu, veritabanınızı yok etmek veya kötüye kullanmak için yaygın bir web hackleme tekniği olan SQL enjeksiyonlarını önlemek içindir.
mysql.connector modülü %s
, delete ifadesindeki değerlerden kaçmak için yer tutucuyu kullanır:
Örnek
%s
Yer tutucu yöntemini kullanarak değerlerden kaçış :
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")