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])

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

转载于:https://blog.51cto.com/853056088/2160879

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值