如何在 Python 中使用 MySQL 從表中刪除記錄?


有時我們可能需要從表中刪除某些行。假設,我們有一個班級學生詳細資訊的表。可能其中一個學生離開了班級,因此我們不再需要該特定學生的資訊。因此,我們需要從表中刪除該特定行或記錄。

MySQL 中的“DELETE FROM”語句用於從表中刪除一行或記錄,“WHERE”子句用於指定要刪除的行。如果不使用 WHERE 子句,則所有記錄都將被刪除。

語法

刪除所有行

DELETE FROM table_name

刪除特定行

DELETE FROM table_name WHERE condition

使用 Python 中的 MySQL 從表中刪除記錄所涉及的步驟

  • 匯入 MySQL 聯結器

  • 使用 connect() 方法與聯結器建立連線

  • 使用 cursor() 方法建立遊標物件

  • 使用適當的 MySQL 語句建立查詢

  • 使用 execute() 方法執行 SQL 查詢

  • 使用 commit() 方法提交所做的更改

  • 關閉連線

假設我們有一個名為“Student”的表,如下所示 −

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

示例

假設,我們有上面學生的表,並且我們想從上表中刪除 Kriti 的記錄。

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()

以上程式碼從表中刪除一行並打印表的剩餘行。

輸出

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

注意

上面程式碼中的db.commit() 非常重要。它用於提交對錶所做的更改。如果不使用 commit(),則不會對錶進行任何更改。

更新於: 2021年6月10日

350 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.