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中你应该知道的一些内置函数
Mar 31 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
django框架自定义用户表操作示例
Aug 07 Python
python flask框架实现重定向功能示例
Jul 02 Python
python实现的读取网页并分词功能示例
Oct 29 Python
pytorch 自定义参数不更新方式
Jan 06 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
python实现二分类和多分类的ROC曲线教程
Jun 15 Python
python能否java成为主流语言吗
Jun 22 Python
pytorch 查看cuda 版本方式
Jun 23 Python
Python3接口性能测试实例代码
Jun 20 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 PDO中文乱码解决办法
2009/07/20 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
javascript qq右下角滑出窗口 sheyMsg
2010/03/21 Javascript
jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
2013/12/05 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
JS创建对象的写法示例
2016/11/04 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
2017/11/17 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
[01:35]辉夜杯战队访谈宣传片—LGD
2015/12/25 DOTA
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
Python的socket模块源码中的一些实现要点分析
2016/06/06 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
Django集成CAS单点登录的方法示例
2019/06/10 Python
pycharm配置git(图文教程)
2019/08/16 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
2021/02/23 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
荣耀商城:HIHONOR
2020/11/03 全球购物
新娘父亲婚礼致辞
2014/01/16 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
车间统计员岗位职责
2015/04/14 职场文书
让子弹飞观后感
2015/06/11 职场文书
培训计划通知
2015/07/15 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL
斗罗大陆八大特殊魂兽,龙族始祖排榜首,第五最残忍(翠魔鸟)
2022/03/18 国漫