如何使用Python中的MySQL基于一些条件从表中选择数据?

如何使用Python中的MySQL基于一些条件从表中选择数据?

并不经常需要从表中选择所有数据。相反,我们需要根据某些条件或标准从表中选择数据或行。

假设,我们有一个包含许多学生的姓名和分数的表。现在,我们需要获取分数高于90分的学生的姓名。这基本上要求我们根据某些标准(标记>=90)选择数据。

因此,在MySQL中我们提供了“WHERE”语句,它允许我们根据指定的标准从表中选择数据。

更多Python相关文章,请阅读:Python 教程

语法

select * from table_name WHERE condition

在这里,table_name指定表的名称,而条件则指定基于哪些选择数据的基本标准。此语句选择满足给定条件或标准的所有行。

使用Python中的MySQL选择表中特定数据的步骤

  • 导入MySQL连接器

  • 使用connect()建立连接器连接

  • 使用cursor()方法创建游标对象

  • 使用相应的mysql语句创建查询

  • 使用execute()方法执行SQL查询

  • 关闭连接

假设我们有一个名为“学生”的表如下 –

+----------+---------+-----------+------------+
|    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分的学生的记录。

导入mysql.connector

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

cursor=db.cursor()

query="选择 * 从学生 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)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程