‘UPDATE’ ifadesini kullanarak bir tablodaki mevcut kayıtları güncelleyebilirsiniz:
Örnek: adress sütunundaki Konak İzmir değerlerinini Buca İzmir olarak değiştirin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", password="yourpassword", database="mydatabase" ) mycursor = mydb.cursor() sql = "UPDATE customers SET address = 'Buca İzmir' WHERE address = 'Konak İzmir'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "kayıt güncellendi") |
Ö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 Injection Önleyin
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ü, delete ifadesindeki değerlerden kaçmak için %s yer tutucusunu kullanır:
Örnek: Placholder %s yöntemini kullanarak değerlerden kaçış:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 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, "kayıt güncellendi") |
[…] MySQL Update (Verileri Güncelleme) […]