Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào bạn có thể cập nhật các giá trị nhất định trong một bảng trong MySQL bằng Python?

Dữ liệu trong bảng có thể đã lỗi thời và chúng tôi có thể yêu cầu thay đổi dữ liệu sau một thời gian. Giả sử, chúng ta có một bảng Sinh viên và một trong những sinh viên đã thay đổi địa chỉ của họ. Chúng tôi yêu cầu thay đổi địa chỉ của sinh viên trong cơ sở dữ liệu để tránh mọi vấn đề trong tương lai do dữ liệu sai.

Câu lệnh "UPDATE" trong MySQL được sử dụng để cập nhật một số giá trị trong bảng. Mệnh đề SET được sử dụng để đặt giá trị mới trong cột. Mệnh đề WHERE được sử dụng để xác định vị trí chúng ta cần cập nhật dữ liệu hoặc giá trị trong bảng.

Cú pháp

UPDATE table_name SET column=new_value WHERE column=old_value

Các bước được yêu cầu để cập nhật dữ liệu trong bảng bằng MySQL trong python

  • nhập trình kết nối MySQL

  • thiết lập kết nối với trình kết nối bằng connect ()

  • tạo đối tượng con trỏ bằng phương thức cursor ()

  • tạo một truy vấn bằng cách sử dụng các câu lệnh mysql thích hợp

  • thực thi truy vấn SQL bằng phương thức execute ()

  • cam kết các thay đổi được thực hiện bằng phương thức commit ()

  • đóng kết nối

Giả sử chúng ta có một bảng tên là “Sinh viên” như sau -

+----------+---------+-----------+------------+
|    Name  | Class   |    City   |    Marks   |
+----------+---------+-----------+------------+
|    Karan |    4    | Amritsar  |    95      |
|    Sahil |    6    | Amritsar  |    93      |
|    Kriti |    3    | Batala    |    88      |
|   Khushi |    9    | Delhi     |    90      |
|    Kirat |    5    | Delhi     |    85      |
+----------+---------+-----------+------------+

Ví dụ

Giả sử, chúng ta có bảng sinh viên ở trên và chúng ta muốn cập nhật thành phố Kriti từ Batala đến Kolkata.

import mysql.connector
db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query="UPDATE Students SET City='Kolkata' WHERE Name='Kriti'"
cursor.execute(query)
db.commit()

query="SELECT * FROM Students"
cursor.execute(query)

for row in cursor:
   print(row)
db.close()

Đoạn mã trên cập nhật tên thành phố Kriti.

Đầu ra

(‘Karan’, 4 ,’Amritsar’ , 95)
(‘Sahil’ , 6 , ‘Amritsar’ ,93)
(‘Kriti’ , 3 , ‘Kolkata’ ,88)
(‘Amit’ , 9 , ‘Delhi’ , 90)
(‘Priya’ , 5 , ‘Delhi’ ,85)

LƯU Ý

db.commit () trong đoạn mã trên là quan trọng. Nó được sử dụng để xác nhận các thay đổi được thực hiện cho bảng. Nếu không sử dụng commit (), sẽ không có thay đổi nào được thực hiện trong bảng.