【发布时间】:2019-10-18 01:45:29
【问题描述】:
我正在尝试创建一个函数,该函数根据传递给它的参数执行查询。
def sql_query(filter1, filter2, filter3):
with ConnectionPool() as cursor:
cursor.execute('''SELECT * FROM table
WHERE filter1 = %s AND filter2 =%s AND filter3 = %s;'''
cursor.fetchall()
但只要其中一个过滤器为无,我就不希望该参数成为 SQL 查询的一部分。
例如,如果只使用过滤器 1,那么我希望查询变为:
def sql_query(filter1, filter2, filter3):
with ConnectionPool() as cursor:
cursor.execute('''SELECT * FROM table
WHERE filter1 = %s;'''
cursor.fetchall()
如何实现动态生成查询?
【问题讨论】:
标签: python sql python-3.x postgresql psycopg2