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文件操作整理汇总
Oct 21 Python
在Pandas中处理NaN值的方法
Jun 25 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
python对csv文件追加写入列的方法
Aug 01 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
PyTorch中的Variable变量详解
Jan 07 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
python实现的Iou与Giou代码
Jan 18 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
Python+Opencv身份证号码区域提取及识别实现
Aug 25 Python
Django如何与Ajax交互
Apr 29 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桌面中心(三) 修改数据库
2007/03/11 PHP
PHP_MySQL教程-第一天
2007/03/18 PHP
php a simple smtp class
2007/11/26 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
Android App中DrawerLayout抽屉效果的菜单编写实例
2016/03/21 PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
2016/12/14 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
用javascript实现画板的代码
2007/09/05 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
Javascript实现单例模式
2016/01/24 Javascript
nodejs获取微信小程序带参数二维码实现代码
2017/04/12 NodeJs
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
微信小程序实现点击导航标签滚动定位到对应位置
2020/11/19 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
编写Python的web框架中的Model的教程
2015/04/29 Python
python下os模块强大的重命名方法renames详解
2017/03/07 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python实现抓取HTML网页并以PDF文件形式保存的方法
2018/05/08 Python
用python简单实现mysql数据同步到ElasticSearch的教程
2018/05/30 Python
Python列表对象实现原理详解
2019/07/01 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
人资专员岗位职责
2014/04/04 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
2016大学生暑期社会实践心得体会
2016/01/14 职场文书
入党心得体会
2019/06/20 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis