如何在 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 次查看

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.