为了账号安全,请及时绑定邮箱和手机立即绑定

Psycopg2 - 不返回输出的 SQL 脚本

Psycopg2 - 不返回输出的 SQL 脚本

哔哔one 2022-08-25 15:20:39
我正在尝试将一些参数作为变量传递给SQL脚本,但我在返回输出时遇到问题。下面给出的是我的代码:start_date = '2020-03-01' end_date = '2020-03-02'我将这些传递到下面的查询中cursor.execute('select bill_number from table                  where created_at between {} and {}'.format(start_date, end_date))以上不返回任何输出,但我知道此SQL脚本存在数据
查看完整描述

1 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

执行查询后,您需要获取结果:


records = cursor.fetchall()

不要用于SQL查询非常重要,因为它容易受到SQL注入攻击;而是使用:format


query = "select bill_number from table where created_at between %s and %s"

cursor.execute(query, (start_date, end_date))

records = cursor.fetchall()

如果要添加筛选器,只需调整查询并添加参数:


query = "select bill_number from table where created_at between %s and %s and product=%s"

cursor.execute(query, (start_date, end_date, product))

为了使用列表作为参数,您可以使用和:INtuple


>>> query = "select * from clients where added between %s and %s and score in %s"

>>> data = ('2019-01-01', '2020-03-01', tuple([1,2,3]))

>>> cursor.execute(query, data)

>>> rows = cursor.fetchall()

>>> len(rows)

32

>>> 

确保您阅读了文档,因为它们包含许多有价值的信息。


查看完整回答
反对 回复 2022-08-25
  • 1 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信