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