Python MySQL Xóa khỏi bởi
Xóa hồ sơ
Bạn có thể xóa bản ghi khỏi bảng hiện có bằng cách sử dụng câu lệnh "DELETE FROM":
Ví dụ
Xóa mọi bản ghi có địa chỉ là "Mountain 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 =
'Mountain 21'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) deleted")
Chạy ví dụ » Quan trọng!: Hãy lưu ý câu lệnh: mydb.commit()
. Cần phải thực hiện các thay đổi, nếu không thì không có thay đổi nào được thực hiện đối với bảng.
Lưu ý mệnh đề WHERE trong cú pháp DELETE: Mệnh đề WHERE chỉ định (các) bản ghi nào sẽ bị xóa. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ bị xóa!
Ngăn chặn việc tiêm SQL
Việc thoát khỏi các giá trị của bất kỳ truy vấn nào cũng được coi là một cách thực hành tốt, kể cả trong các câu lệnh xóa.
Điều này nhằm ngăn chặn việc tiêm SQL, một kỹ thuật tấn công web phổ biến nhằm phá hủy hoặc sử dụng sai mục đích cơ sở dữ liệu của bạn.
Mô-đun mysql.connector sử dụng trình giữ chỗ %s
để thoát các giá trị trong câu lệnh xóa:
Ví dụ
Thoát các giá trị bằng cách sử dụng phương thức giữ chỗ %s
:
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")
Chạy ví dụ »