python的pymysql中以表名作为变量传递进查询语句中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的pymysql中以表名作为变量传递进查询语句中相关的知识,希望对你有一定的参考价值。

在我们学习使用pymysql的时候有时需要把表名当做变量传递到sql语句中去执行,
然而我们的固定思维模式有时却限制了我们:
如:我们知道传递变量可以用占位符%s,后面加上变量就行,
在pymysql中也有同样的问题,我们在执行sql语句的时候可以把变量传递进去
类似:

sql = ‘insert into TabName + ‘ value (%s %s)‘
cursor.execute(sql, [name,age])

如果我们的TabName也是变量的话我们就会习惯性的这样加

sql = ‘insert into %s + ‘ value (%s %s)‘
cursor.execute(sql, [tabname,name,age])

然后这样报错了我们才知道这样不行,然后再去查原因,发现我们被自己的固定思维给限制住了(反正我是这样的)

我也是在网上找了半天再找到了解决办法,只要跳出这样的思维就行了

错误:
sql = ‘insert into %s + ‘ value (%s %s)‘
cursor.execute(sql, [tabname,name,age])

改为:
sql = ‘insert into %s(name,age)‘ %TabName + ‘ value (%s)‘
cursor.execute(sql, [name])

这样就没问题了,有时候我们是能解决这类似的问题的,但是我们却是往往被自己的固定思维给坑了!

以上是关于python的pymysql中以表名作为变量传递进查询语句中的主要内容,如果未能解决你的问题,请参考以下文章

如何创建一个以表名作为输入的简单存储过程

Bash 将变量名作为参数传递

如何在节点js中将变量名作为mongodb的集合名称传递

数组名作函数参数时,实参与形参变量之间的数据传递是?

在 azure synapse 存储过程中将表名作为参数传递时将查询结果分配给变量

将变量名作为GD脚本中的字符串获取