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 相关文章推荐
有关wxpython pyqt内存占用问题分析
Jun 09 Python
python处理大数字的方法
May 27 Python
Python实现基本数据结构中队列的操作方法示例
Dec 04 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
在unittest中使用 logging 模块记录测试数据的方法
Nov 30 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
np.dot()函数的用法详解
Jan 17 Python
python无序链表删除重复项的方法
Jan 17 Python
Python格式化输出--%s,%d,%f的代码解析
Apr 29 Python
Python爬虫与反爬虫大战
Jul 30 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
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
一些需要禁用的PHP危险函数(disable_functions)
2012/02/23 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
用jquery统计子菜单的条数示例代码
2013/10/18 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
Python写入数据到MP3文件中的方法
2015/07/10 Python
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
python中datetime模块中strftime/strptime函数的使用
2018/07/03 Python
python3:excel操作之读取数据并返回字典 + 写入的案例
2020/09/01 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
HTML5 Web Database 数据库的SQL语句的使用方法
2012/12/09 HTML / CSS
美国女性运动零售品牌:Lady Foot Locker
2017/05/12 全球购物
高中生校园生活自我评价
2013/09/19 职场文书
机电一体化自荐信
2013/12/10 职场文书
计算机专业学生的自我评价
2013/12/15 职场文书
物流创业计划书
2014/02/01 职场文书
春节联欢会策划方案
2014/05/16 职场文书
教师职位说明书
2014/07/29 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
小平小道观后感
2015/06/09 职场文书
搞笑欢迎词大全
2015/09/30 职场文书
小学副班长竞选稿
2015/11/21 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
python+opencv实现视频抽帧示例代码
2021/06/11 Python
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技