如何使用 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