使用JSON输入构建动态SQL "WHERE"语句可以通过以下步骤实现:
以下是一个示例,展示如何使用JSON输入构建动态SQL "WHERE"语句的Python代码:
import json
import psycopg2
# 假设接收到的JSON输入为:
# {
# "conditions": [
# {"field": "name", "operator": "LIKE", "value": "John"},
# {"field": "age", "operator": ">=", "value": 18}
# ]
# }
# 解析JSON输入
json_input = '''
{
"conditions": [
{"field": "name", "operator": "LIKE", "value": "John"},
{"field": "age", "operator": ">=", "value": 18}
]
}
'''
conditions = json.loads(json_input)["conditions"]
# 构建动态SQL语句
sql = "SELECT * FROM users WHERE "
for condition in conditions:
field = condition["field"]
operator = condition["operator"]
value = condition["value"]
sql += f"{field} {operator} '{value}' AND "
# 去除最后一个多余的"AND"
sql = sql[:-5]
# 连接数据库
conn = psycopg2.connect(database="your_database", user="your_username", password="your_password", host="your_host", port="your_port")
cursor = conn.cursor()
# 执行SQL查询
cursor.execute(sql)
results = cursor.fetchall()
# 处理查询结果
for row in results:
# 处理每一行的数据
# 关闭数据库连接
cursor.close()
conn.close()
在上述示例中,我们使用Python的json模块解析JSON输入,并根据解析得到的条件构建动态SQL语句。然后,我们使用psycopg2库连接到PostgreSQL数据库,并执行构建好的SQL查询。最后,我们可以根据需要处理查询结果。
请注意,上述示例中使用的是PostgreSQL数据库和psycopg2库作为示例,实际上,您可以根据自己的需求和使用的数据库选择相应的数据库和数据库访问库。
领取专属 10元无门槛券
手把手带您无忧上云