Python MySQL Xóa khỏ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":
Thí dụ
Xóa bất kỳ bản ghi nào 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")
Quan trọng!:mydb.commit()
Chú ý câu lệnh:.
Cần phải thực hiện các thay đổi, nếu không, 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 sẽ được 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 SQL Injection
Nó được coi là một thực tiễn tốt để thoát khỏi các giá trị của bất kỳ truy vấn nào, cũng như trong các câu lệnh xóa.
Điều này là để ngăn chặn việc tiêm SQL, đây là một kỹ thuật tấn công web phổ biến để phá hủy hoặc sử dụng sai 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:
Thí dụ
Thoát 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")