python mysql中in参数化说明


Posted in Python onJune 05, 2020

第一种:拼接字符串,可以解决问题,但是为了避免sql注入,不建议这样写

还是看看第二种:使用.format()函数,很多时候我都是使用这个函数来对sql参数化的

举个例子:

select * from XX where id in (1,2,3)

参数化in里面的值:

select * from XX where id in ({}).format('1,2,3')

你可以打印下看看,和你原来的sql是一模一样的

补充知识:python与mysql交互/读取本地配置文件/交互报错

如果自己写mysql连接要读取本地配置文件,需要注意:

在配置文件config.ini中写:

[sql]
ip = xxx
port = xxx
table = xxx
uname = xxx
passwd = xxx

如:test.py文件

# 首先导入
import pymysql
# 这是获取配置文件的内容
host = conf.get('sql', 'ip')
port = conf.get('sql', 'port')
database = conf.get('sql', 'table'),
user = conf.get('sql', 'uname')
password = conf.get('sql', 'passwd')

# 建立mysql数据库连接

conn = pymysql.connect(host=host, port=port, db=database, user=user, password=password, charset='utf8') # 这里注意有可能报错,后面会说
sql = 'xxx' # sql语句
cs1 = conn.cursor() # 创建执行对象
count = cs1.execute(sql) # 执行sql语句,返回值是数据库中影响的行数,并赋值给count
conn.commit() # 提交数据库的变更
cs1.close() # 关闭执行对象
conn.close() # 关闭数据库连接对象

报错:

can only concatenate tuple (not "bytes") to tuple

这是因为在配置文件读进来的某个结果是个数组,打印看一下就知道了

但是在上篇python读取配置文件中,试过第一个[global]中读取的没有出现数组形式,这个是为什么我也不知道了,欢迎大家留言共同交流

[Errno 11004] getaddrinfo failed 和下面这个

django操作mysql时django.db.utils.OperationalError: (2003, "Can't connect to MySQL server")错误:

如果是在引用本地配置文件时报错,这个报错也很有可能是读取配置文件时的问题

可以尝试这样解决:

1.自己本地用工具也好,命令也好尝试连接一下,如果不行,那就可能是网络或者权限问题

2.如果上面可以,直接写一个独立的python文件,不去读取本地文件,将信息直接写在py文件中,运行结果可以,就是配置文件读取的问题

3.然后尝试读取,并打印读取结果,就能发现问题了

以上这篇python mysql中in参数化说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的防DDoS脚本
Feb 08 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
python处理大数字的方法
May 27 Python
Python selenium 三种等待方式解读
Sep 15 Python
python if not in 多条件判断代码
Sep 21 Python
pytorch 自定义数据集加载方法
Aug 18 Python
pycharm解决关闭flask后依旧可以访问服务的问题
Apr 03 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
May 18 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
matplotlib 画动态图以及plt.ion()和plt.ioff()的使用详解
Jan 05 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 Python
教你如何用python开发一款数字推盘小游戏
Apr 14 Python
JAVA SWT事件四种写法实例解析
Jun 05 #Python
pandas 像SQL一样使用WHERE IN查询条件说明
Jun 05 #Python
基于Python爬虫采集天气网实时信息
Jun 05 #Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 #Python
Python调用.net动态库实现过程解析
Jun 05 #Python
Python实现将元组中的元素作为参数传入函数的操作
Jun 05 #Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 #Python
You might like
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
2019/04/10 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
JS中type="button"和type="submit"的区别
2017/07/04 Javascript
微信小程序用户自定义模版用法实例分析
2017/11/28 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
three.js着色器材质的内置变量示例详解
2020/08/16 Javascript
如何使用RoughViz可视化Vue.js中的草绘图表
2021/01/30 Vue.js
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
解析Python中的__getitem__专有方法
2016/06/27 Python
Swift中的协议(protocol)学习教程
2016/07/08 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
Python内置加密模块用法解析
2019/11/25 Python
Python3 requests模块如何模仿浏览器及代理
2020/06/15 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
岗位职责风险防控
2014/02/18 职场文书
幼儿园秋游感想
2014/03/12 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
酒店辞职书范文
2015/02/26 职场文书
匿名信格式范文
2015/05/27 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL
springboot创建的web项目整合Quartz框架的项目实践
2022/06/21 Java/Android