‘DELETE FROM’ ifadesini kullanarak mevcut bir tablodan kayıtları silebilirsiniz:
Örnek: customers tablosunda adresin ‘Mountain 21’ olduğu herhangi bir kaydı silin:
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 = "DELETE FROM customers WHERE address = 'Mountain 21'" mycursor.execute(sql) mydb.commit() print(mycursor.rowcount, "kayıt silindi") |
Önemli!: Şu ifadeye dikkat edin: mydb.commit(). Değişikliklerin yapılması zorunludur, aksi halde tabloda herhangi bir değişiklik yapılmaz.
DELETE sözdizimindeki WHERE yan tümcesine dikkat edin: WHERE yan tümcesi, hangi kayıtların silinmesi gerektiğini belirtir. WHERE yan tümcesini atlarsanız, tüm kayıtlar silinecektir!
SQL Injectionunu Önle
Herhangi bir sorgunun değerlerinden kaçmak, ayrıca silme ifadelerinde de 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: %s yer tutucu yöntemini kullanarak çıkış değerleri:
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 = "DELETE FROM customers WHERE address = %s" adr = ("Yellow Garden 2", ) mycursor.execute(sql, adr) mydb.commit() print(mycursor.rowcount, "kayıt silindi") |
[…] MySQL Delete (Verileri Silme) […]