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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
Python实现图片转字符画的示例
Aug 22 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
Python3.5装饰器典型案例分析
Apr 30 Python
Python 一行代码能实现丧心病狂的功能
Jan 18 Python
tensorflow实现训练变量checkpoint的保存与读取
Feb 10 Python
selenium WebDriverWait类等待机制的实现
Mar 18 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 29 Python
Python可变集合和不可变集合的构造方法大全
Dec 06 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
VML绘图板②脚本--VMLgraph.js、XMLtool.js
2006/10/09 PHP
oracle资料库函式库
2006/10/09 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
JavaScript的类型转换(字符转数字 数字转字符)
2010/08/30 Javascript
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
JS弹出窗口代码大全(详细整理)
2012/12/21 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
react-native DatePicker日期选择组件的实现代码
2017/09/12 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
基于es6三点运算符的使用方法(实例讲解)
2017/10/12 Javascript
Angularjs 手写日历的实现代码(不用插件)
2017/10/18 Javascript
vue基于viewer实现的图片查看器功能
2019/04/12 Javascript
微信小程序与webview交互实现支付功能
2019/06/07 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
Vite和Vue CLI的优劣
2021/01/30 Vue.js
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
Python中bisect的使用方法
2019/12/31 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
电子商务应届生求职信
2013/11/16 职场文书
英语专业自荐书
2014/06/13 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
个人专业技术总结
2015/03/05 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
2016年国庆节67周年活动总结
2016/04/01 职场文书