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之一个免费的实验室
Sep 14 Python
python定时执行指定函数的方法
May 27 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
Jul 11 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 Python
python @classmethod 的使用场合详解
Aug 23 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
python 基于wx实现音乐播放
Nov 24 Python
C3 线性化算法与 MRO之Python中的多继承
Oct 05 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
2016/10/18 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
javascript document.images实例
2008/05/27 Javascript
JQuery.uploadify 上传文件插件的使用详解 for ASP.NET
2010/01/22 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
jQuery中filter()和find()的区别深入了解
2013/09/25 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
jQuery实现的精美平滑二级下拉菜单效果代码
2016/03/28 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
2018/08/13 Javascript
详解Vue依赖收集引发的问题
2019/04/22 Javascript
详解VUE Element-UI多级菜单动态渲染的组件
2019/04/25 Javascript
vue+element实现打印页面功能
2019/05/20 Javascript
Javascript新手入门之字符串拼接与变量的应用
2020/12/03 Javascript
Python 使用 docopt 解析json参数文件过程讲解
2019/08/13 Python
详解Python self 参数
2019/08/30 Python
Python3列表List入门知识附实例
2020/02/09 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
英国最大的自有市场,比亚马逊便宜:Flubit
2019/03/19 全球购物
潘多拉珠宝俄罗斯官方网上商店:PANDORA俄罗斯
2020/09/22 全球购物
中英文求职信范文
2014/01/27 职场文书
绩效考核实施方案
2014/03/18 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
高三数学复习备考教学反思
2016/02/18 职场文书
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js