当前位置: 首页 > 面试题库 >

如何在Pandas SQL查询中动态传递变量值

戚甫
2023-03-14
问题内容

如何动态传递变量参数

order = 10100

status = 'Shipped'

df1 = pd.read_sql_query("SELECT  * from orders where orderNumber =""" +  
str(10100) + """ and status = """ + 'status' +"""  order by orderNumber """,cnx)

TypeError:必须为str,而不是int

尽管我转换为字符串有任何想法,但遇到了以上错误?

有没有其他的方式来传递参数?


问题答案:

通过通过params关键字arguments提供参数来使用参数化sql
。数据库适配器将为您完成参数的正确引用,并且代码将较不容易受到SQL注入攻击。(有关不正确引用的非参数化sql可能引起您的麻烦的类型,请参阅Little
Bobby Tables
。)

order = 10100

status = 'Shipped'

sql = """SELECT  * from orders where orderNumber = ?
         and status = ? order by orderNumber"""
df1 = pd.read_sql_query(sql, cnx, params=[order, status])

?以秒sql为参数标记。它们被替换为正确引用的值params。请注意,正确的参数标记取决于您使用的数据库适配器。例如,MySQLdbpsycopg2使用%s,而sqlite3oursql使用?



 类似资料:
  • 问题内容: 我想使用表变量而不是临时表,但是我的主要查询构造是动态的。动态查询用单引号引起来,所以我该如何从@TableVariable中获取数据。我不想删除动态查询,因为稍后会添加一些参数。 例如,以下是错误代码,其中我已将表变量写入动态查询中..... 在这方面帮助我。 提前致谢。 问题答案: 试试这个 :

  • 错误:网络错误:响应不成功:已接收状态代码400 更新:以下是错误详细信息: [GraphQL错误]:消息:类型为“String!”的变量“$OrderBy”用于应为“ItemorderByInput”类型的位置。位置:[object object],[object object],路径:未定义 尝试让ALL_ITEMS_QUERY接受orderBy变量。我是不是漏掉了什么?

  • 问题内容: 如何在sql查询中传递java字符串变量。我已经完成了所有JDBC连接。 我的SQL数据库查询是 它不起作用。但是,如果我执行以下代码,其工作原理 现在告诉我如何将变量名传递给sql查询以执行此操作。Jst告诉我如何将变量locationnames传递给comp.name。 我完整的Java函数如下所示:locationCombo表示在组合框中选择的项目。CropCombo也表示相同的

  • 问题内容: 我试图使用临时表开发此存储过程,但是那行不通,所以我改用表变量。我需要对表变量执行临时动态查询,然后使用该表变量执行最终查询。问题是我收到错误消息“必须声明标量变量@clms”。我假设Exec没有该表变量的作用域? 问题答案: 这是简单的最小示例。您可以使用语句。关键是要在动态查询的内部和外部声明表变量。在动态查询结束时,只需从表变量中选择并将结果集插入外部表变量中即可:

  • 我有一个apollo包装的组件,它应该为我的组件提供来自github graphql v4 api的响应数据。我打算使用应用程序另一部分的字符串(SEARCH\u QUERY)来用于我的gql查询,但github不断返回未定义的字符串。我在关注阿波罗官方文件http://dev.apollodata.com/react/queries.html#graphql-选项。我看不出我做错了什么。 这个没

  • 在PL/SQL中,可以使用连接指定In运算符的值: 是否可以使用变量执行相同的操作? 如果是这样,如何? 编辑:参考Marcin的回答,我如何从结果表中选择? 我得到以下错误: