如何使用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
极客教程