如何使用 Python 更新 MySQL 表格中的特定值?


表格中的資料可能已過期,我們可能需要一段時間後更改資料。假設我們有一個學生表,其中一名學生更改了他們的地址。我們需要更改資料庫中該學生的地址,以避免將來因資料錯誤而出現任何問題。

MySQL 中的“UPDATE”語句用於更新表中的某些值。“SET”子句用於設定列中的新值。“WHERE”子句用於標識需要在表中更新資料或值的位置。

語法

UPDATE table_name SET column=new_value WHERE column=old_value

使用 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 的城市從 Batala 更新為 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()

以上程式碼更新了 Kriti 的城市名稱。

輸出

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

注意

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

更新於:2021年6月10日

887 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.