Python MySQL Silme Kimden
Kaydı sil
"DELETE FROM" ifadesini kullanarak mevcut bir tablodan kayıtları silebilirsiniz:
Örnek
Adresin "Dağ 21" olduğu herhangi bir kaydı silin:
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, "record(s) deleted")
Ö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 Enjeksiyonunu Ö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ü %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 = "DELETE FROM customers WHERE address =
%s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")