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

Python-如何在Python的SQL语句中使用变量?

尉迟禄
2023-03-14
问题内容

我有以下Python代码:

cursor.execute("INSERT INTO table VALUES var1, var2, var3,")

其中var1是整数,var2&var3是字符串。

如何在没有python的情况下编写变量名并将其作为查询文本的一部分?


问题答案:
cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

请注意,参数作为元组传递。

数据库API会正确地对变量进行转义和引用。注意不要使用字符串格式运算符(%),因为

  1. 它不会进行任何转义或引用。
  2. 它容易受到不受控制的字符串格式攻击,例如SQL注入。


 类似资料:
  • 问题内容: 好的,所以我在Python方面没有那么丰富的经验。 我有以下Python代码: 其中是整数,&是字符串。 如何在没有python的情况下编写变量名称,并将其作为查询文本的一部分? 问题答案: 请注意,参数作为元组传递。 数据库API会正确地对变量进行转义和引用。注意不要使用字符串格式运算符(),因为 它不会进行任何转义或引用。 它容易受到不受控制的字符串格式攻击,例如SQL注入。

  • 问题内容: 我正在使用R来调用mySQL语句,其中我在语句外定义了变量,例如 但这会返回一个空集,我已经在Google周围搜索并尝试了“。&foo”。“ .foo。” ‘。&& foo。’‘和许多不同的组合,但是它们都不起作用,我认为这应该是mysql问题,而不是我遇到的R特定问题,但不确定。通常,变量具有$值,但R中没有。 问题答案: 这应该工作:

  • 我正在使用做类似“语法分析器”的事情,使用(常规表达式)。 我只想检查基本操作的有效语法(如|-|*|/|(|))。用户将字符串(用键盘)粘贴到磁带上,我用regex对其进行验证。但我不知道如何在if语句中使用regex。我想要的是:如果用户带给我的字符串不正确(或者没有使用regex检查),请打印类似“inavlid string”的内容,如果正确,请打印“Valid string”。 我尝试过

  • 问题内容: 我正在学习Python,并且已经到达有关该语句的部分。我正在使用的指南将其定义Null为通常用作占位符的语句。 我仍然不完全明白那是什么意思。有人可以告诉我一个简单/基本的情况下使用该语句以及为什么需要该语句吗? 问题答案: 假设你正在使用尚未实现的某些方法设计一个新类。 如果你不使用,则代码将无法运行。 然后,你将获得: 总而言之,该pass语句没有什么特别之处,但是可以充当占位符,

  • 问题内容: 在Python中,if语句内的变量作用域是否在if语句外可见?(来自Java背景,因此有点奇怪) 在以下情况下,首先在if块内部定义名称,但是该变量在if块外部也可见。我原以为会发生错误,但打印出“ joe”。 问题答案: 语句未在Python中定义范围。 循环,语句,/等都不会。 只有模块,函数和类定义范围。 请参阅Python教程中的Python作用域和命名空间。

  • 我只是在写一个简单的if语句。第二行仅在用户键入“Good!”时计算为true。如果键入“Great!”,则将执行else语句。我可以不使用或像这样吗?我需要逻辑的还是逻辑的?