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

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

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

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

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

语法

SELECT * FROM table_name WHERE EXISTS(sub_query)

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

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

  • import 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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程