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入门之三角函数atan2()函数详解
Nov 08 Python
使用Python监控文件内容变化代码实例
Jun 04 Python
基于Python3.6+splinter实现自动抢火车票
Sep 25 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
django基于restframework的CBV封装详解
Aug 08 Python
Python tkinter实现图片标注功能(完整代码)
Dec 08 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
Django重设Admin密码过程解析
Feb 10 Python
python中前缀运算符 *和 **的用法示例详解
May 28 Python
Python编程编写完善的命令行工具
Sep 15 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查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
PHP中的魔术方法总结和使用实例
2015/05/11 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
jquery each的几种常用的使用方法示例
2014/01/21 Javascript
Array栈方法和队列方法的特点说明
2014/01/24 Javascript
返回上一页并自动刷新的JavaScript代码
2014/02/19 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
PHP 数组current和next用法分享
2015/03/05 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
layui实现table加载的示例代码
2018/08/14 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
python+django+sql学生信息管理后台开发
2018/01/11 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
python多线程扫描端口(线程池)
2019/09/04 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
Ariat英国官网:为世界顶级马术运动员制造最优质的鞋类和服装
2020/02/14 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
浙江文明网签名寄语
2014/01/18 职场文书
横幅标语大全
2014/06/17 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
不同意离婚上诉状
2015/05/23 职场文书
家属联谊会致辞
2015/07/31 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
python内置进制转换函数的操作
2021/06/02 Python
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js