如何在 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)
廣告