我们有时可能需要检查表中是否存在特定记录。
这可以使用 EXISTS 语句完成。如果以下子查询返回一条或多条记录,则 EXISTS 语句返回 true。
SELECT * FROM table_name WHERE EXISTS(sub_query)
子查询如果返回一行或多行,则 EXISTS 将返回 true。
导入 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