Bảng cập nhật MySQL của Python
Cập nhật bảng
Bạn có thể cập nhật các bản ghi hiện có trong bảng bằng cách sử dụng câu lệnh "UPDATE":
Ví dụ
Ghi đè cột địa chỉ từ “Thung lũng 345” thành “Hẻm núi 123”:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user=" yourusername ",
password=" yourpassword ",
database="mydatabase"
)
mycursor =
mydb.cursor()
sql = "UPDATE customers SET address = 'Canyon 123'
WHERE address = 'Valley 345'"
mycursor.execute(sql)
mydb.commit()
print(mycursor.rowcount, "record(s) affected")
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 CẬP NHẬT: Mệnh đề WHERE chỉ định bản ghi hoặc các bản ghi nào cần được cập nhật. Nếu bạn bỏ qua mệnh đề WHERE, tất cả các bản ghi sẽ được cập nhật!
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 phương pháp hay trong các câu lệnh cập nhật.
Đ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 cập nhật:
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 = "UPDATE customers SET address = %s
WHERE address = %s"
val = ("Valley 345", "Canyon 123")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record(s)
affected")
Chạy ví dụ »