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

Làm cách nào bạn có thể xóa bản ghi khỏi bảng bằng MySQL trong Python?

Đôi khi, chúng tôi có thể cần phải xóa các hàng nhất định khỏi bảng. Giả sử, chúng ta có một bảng thông tin chi tiết của các học sinh trong lớp. Có thể một trong số học sinh đã rời lớp và do đó, chúng tôi không yêu cầu thông tin chi tiết về học sinh cụ thể đó. Do đó, chúng ta cần xóa hàng hoặc bản ghi cụ thể đó khỏi bảng.

Câu lệnh "DELETE FROM" trong MySQL được sử dụng để xóa một hàng hoặc bản ghi khỏi bảng, Mệnh đề "WHERE" được sử dụng để chỉ định hàng sẽ bị xóa. Nếu mệnh đề WHERE không được sử dụng, thì tất cả các bản ghi sẽ bị xóa.

Cú pháp

Xóa tất cả các hàng -

DELETE FROM table_name

Xóa một hàng cụ thể -

DELETE FROM table_name WHERE condition

Các bước được yêu cầu để xóa bản ghi khỏi 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 hiện 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 xóa bản ghi của Kriti khỏi bảng trên.

import mysql.connector

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

cursor=db.cursor()

query="DELETE FROM Students 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 xóa một hàng khỏi bảng và in hàng còn lại ra khỏi bảng.

Đầu ra

(‘Karan’, 4 ,’Amritsar’ , 95)
(‘Sahil’ , 6, ‘Amritsar’ ,93)
(‘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.