Bảng cập nhật Python MySQL
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 "CẬP NHẬT":
Thí dụ
Ghi đè cột địa chỉ từ "Valley 345" thành "Canyon 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")
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 CẬP NHẬT: Mệnh đề WHERE chỉ định bản ghi nào hoặc các bản ghi 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 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 cập nhật.
Đ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 = "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")