用python将同一张表2个字段的值提取出来保存到变量进行比较,如果是一样的话,再把另外一张表的值提取出来进行对比
时间: 2024-02-25 17:52:50 浏览: 68
可以使用Python的SQL库(如pymysql、sqlite3等)来执行SQL语句,将查询结果保存到变量中,再进行比较和处理。下面是一个示例:
```python
import pymysql # 导入pymysql库
# 建立数据库连接
conn = pymysql.connect(host='localhost', user='root', password='123456', database='test', charset='utf8')
cursor = conn.cursor() # 创建游标对象
# 查询符合条件的记录并获取查询结果
sql = "SELECT field1, field2 FROM table1 WHERE field1 = field2"
cursor.execute(sql)
result = cursor.fetchall()
# 对查询结果进行处理
if len(result) > 0:
field1_value = result[0][0] # 获取第一行第一个字段的值
field2_value = result[0][1] # 获取第一行第二个字段的值
# 查询另外一张表的符合条件的记录并获取查询结果
sql = f"SELECT field3, field4 FROM table2 WHERE field3 = '{field1_value}' AND field4 = '{field2_value}'"
cursor.execute(sql)
result = cursor.fetchall()
# 对查询结果进行处理
if len(result) > 0:
field3_value = result[0][0] # 获取第一行第一个字段的值
field4_value = result[0][1] # 获取第一行第二个字段的值
print(f"field3_value={field3_value}, field4_value={field4_value}")
else:
print("没有符合条件的记录")
else:
print("没有符合条件的记录")
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
此代码会先查询table1表中field1和field2相等的记录,并将查询结果保存到变量result中。如果查询结果不为空,就从第一行中获取field1和field2的值。然后使用这两个值作为查询条件,查询table2表中符合条件的记录,并将查询结果保存到变量result中。最后,将查询结果的第一行中的field3和field4的值保存到变量field3_value和field4_value中,并打印出来。如果查询结果为空,则打印出“没有符合条件的记录”的提示。需要注意的是,这里使用了f-string(即以f开头的字符串)来动态构造SQL语句,以避免SQL注入等安全问题。
阅读全文