如何使用Python测试MySQL表中是否存在某些记录?


有时我们需要检查表中是否存在特定记录。

这可以使用EXISTS语句完成。如果下面的子查询返回一条或多条记录,则EXISTS语句返回true。

语法

SELECT * FROM table_name WHERE EXISTS(sub_query)

如果子查询返回一行或多行,EXISTS将返回true。

使用Python中的MySQL检查表中是否存在记录的步骤

  • 导入MySQL连接器

  • 使用connect()方法建立与连接器的连接

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

  • 使用适当的MySQL语句创建查询

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

  • 关闭连接

假设我们有如下名为“Sales”的表

+------------+---------+
| sale_price |    tax  |
+------------+---------+
|    1000    |    200  |
|    500     |    100  |
|    50      |    50   |
|    180     |    180  |
+------------+---------+

示例

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

cursor=db.cursor()

query="SELECT sale_price FROM Sales WHERE EXISTS(SELECT * FROM Sales WHERE tax>150)"
cursor.execute(query)

rows=cursor.fetchall()
for row in rows:
   print(row)

db.close()

上面的代码中的子查询返回TRUE,因为存在税款大于150的记录。因此,EXISTS语句返回true。如果没有税款大于150的记录,则EXISTS将返回false。

输出

1000
500
700

更新于:2021年6月10日

8K+浏览量

启动你的职业生涯

完成课程获得认证

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