如何在 Python 中使用 MySQL 基於某些條件選擇表中的資料?


我們並不經常需要從表中選擇所有資料。相反,我們需要根據某些條件或標準從表中選擇資料或行。

假設我們有一個表,其中包含許多學生的姓名和分數。現在,我們需要獲取分數高於 90 分的學生的姓名。這基本上需要我們根據某些條件選擇資料,該條件是 (分數 >= 90)。

因此,MySQL 提供了“WHERE”語句,允許我們根據指定的條件選擇表中的資料。

語法

SELECT * FROM table_name WHERE condition

這裡,table_name 指定表名,condition 指定選擇資料的基本條件。此語句選擇滿足給定條件的所有錶行。

使用 Python 中的 MySQL 從表中選擇特定資料的步驟

  • 匯入 MySQL 聯結器

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

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

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

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

  • 關閉連線

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

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

示例

我們想要選擇並顯示分數大於或等於 90 的學生的記錄。

import mysql.connector

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

cursor=db.cursor()

query="SELECT * FROM Students WHERE Marks>=90”
cursor.execute(query)
for row in cursor:
   print(row)

上述程式碼成功執行後,將顯示分數高於 90 的學生的行。在本例中,它返回並顯示第 1、2 和 4 行。

輸出

(‘Karan’, 4 ,’Amritsar’ , 95)
(‘Sahil’ , 6 , ‘Amritsar’ ,93)
(‘Khushi’ , 9 ,’Delhi’ , 90)

更新於: 2021年6月10日

638 次檢視

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告