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抓取Discuz!用户名脚本代码
Dec 30 Python
python中dir函数用法分析
Apr 17 Python
Python中的深拷贝和浅拷贝详解
Jun 03 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
Windows下安装Scrapy
Oct 17 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
Python3 执行系统命令并获取实时回显功能
Jul 09 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
聊聊python中的循环遍历
Sep 07 Python
python中%格式表达式实例用法
Jun 18 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中几种常见的超时处理全面总结
2012/09/11 PHP
php通过ajax实现双击table修改内容
2014/04/28 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
Laravel 数据库加密及数据库表前缀配置方法
2019/10/10 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
基于jquery的实现简单的表格中增加或删除下一行
2010/08/01 Javascript
JavaScript去掉空格的方法集合
2010/12/28 Javascript
简单的Jquery全选功能
2013/11/07 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐)
2016/06/23 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
python实现文件分组复制到不同目录的例子
2014/06/04 Python
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python链接Oracle数据库的方法
2015/06/28 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
浅谈对yield的初步理解
2017/05/29 Python
Python编写登陆接口的方法
2017/07/10 Python
Python用for循环实现九九乘法表
2018/05/31 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
详解Python IO编程
2020/07/24 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
香港时尚女装购物网站:ZAFUL
2017/07/19 全球购物
美国购物网站:Clickhere2shop
2021/01/28 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
会计电算化专业应届大学生求职信
2013/10/22 职场文书
汽车驾驶求职信
2013/10/25 职场文书
会计电算化专业个人的自我评价
2013/11/24 职场文书
美国留学经济担保书
2014/05/20 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
执行力心得体会范文
2016/01/11 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
2021/05/21 Python
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis