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使用tensorflow保存、加载和使用模型的方法
Jan 31 Python
python实现简单图片物体标注工具
Mar 18 Python
python绘图模块matplotlib示例详解
Jul 26 Python
Python generator生成器和yield表达式详解
Aug 08 Python
关于阿里云oss获取sts凭证 app直传 python的实例
Aug 20 Python
基于python实现把json数据转换成Excel表格
May 07 Python
python变量的作用域是什么
May 26 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 Python
基于python实现简单网页服务器代码实例
Sep 14 Python
谈谈python垃圾回收机制
Sep 27 Python
Python偏函数实现原理及应用
Nov 20 Python
pandas针对excel处理的实现
Jan 15 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
Yii多表联合查询操作详解
2016/06/02 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
PHP 实现缩略图
2021/03/09 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
jQuery中Dom的基本操作小结
2014/01/23 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
jquery实现删除一个元素后面的所有元素功能
2015/12/21 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
解决html input验证只能输入数字,不能输入其他的问题
2017/07/21 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
Python中的with语句与上下文管理器学习总结
2016/06/28 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
Python如何调用外部系统命令
2019/08/07 Python
python3 使用traceback定位异常实例
2020/03/09 Python
药学专业个人自我评价
2013/11/11 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
家庭贫困证明
2014/09/23 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
医药公司开票员岗位职责
2015/04/15 职场文书