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 相关文章推荐
解读Django框架中的低层次缓存API
Jul 24 Python
简介二分查找算法与相关的Python实现示例
Aug 26 Python
Python实现的简单排列组合算法示例
Jul 04 Python
python 字典中文key处理,读取,比较方法
Jul 06 Python
详解Python3注释知识点
Feb 19 Python
python腾讯语音合成实现过程解析
Aug 01 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
TensorFlow绘制loss/accuracy曲线的实例
Jan 21 Python
Python基于百度AI实现OCR文字识别
Apr 02 Python
Python中的面向接口编程示例详解
Jan 17 Python
Python+Appium新手教程
Apr 17 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
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
php实现无限级分类
2014/12/24 PHP
php实现简单爬虫的开发
2016/03/28 PHP
详解Yii2 定制表单输入字段的标签和样式
2017/01/04 PHP
PHP的反射机制实例详解
2017/03/29 PHP
Laravel 实现数据软删除功能
2019/08/21 PHP
javascript 打印页面代码
2009/03/24 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
jquery插件开发方法(初学者)
2012/02/03 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
github配置使用指南
2014/11/18 Python
简单解析Django框架中的表单验证
2015/07/17 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python解析基于xml格式的日志文件
2017/02/25 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
Python 操作MySQL详解及实例
2017/04/30 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python中 * 的用法详解
2019/07/10 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
中国制造网:Made-in-China.com
2019/10/25 全球购物
自我评价的正确写法
2013/09/19 职场文书
学生就业推荐信
2013/11/13 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js