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使用心得之获得github代码库列表
Jun 25 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
python3.x实现base64加密和解密
Mar 28 Python
docker-py 用Python调用Docker接口的方法
Aug 30 Python
python 爬取疫情数据的源码
Feb 09 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
详解Flask前后端分离项目案例
Jul 24 Python
Python离线安装openpyxl模块的步骤
Mar 30 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
Yii2.0 Basic代码中路由链接被转义的处理方法
2016/09/21 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
2014/06/16 Javascript
javascript批量修改文件编码格式的方法
2015/01/27 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
2016/04/29 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
js获取腾讯视频ID的方法
2016/10/03 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
JS Ajax请求会话过期处理问题解决方法分析
2019/11/16 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
2020/07/28 Javascript
JPype实现在python中调用JAVA的实例
2017/07/19 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
对python:threading.Thread类的使用方法详解
2019/01/31 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
python文字转语音的实例代码分析
2019/11/12 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
如何减少垃圾回收让内存更加有效使用
2013/10/18 面试题
少先队学雷锋活动月总结
2014/03/09 职场文书
投标承诺书怎么写
2014/05/24 职场文书
论文答谢词
2015/01/20 职场文书
本溪水洞导游词
2015/02/11 职场文书
丧事答谢词大全
2015/09/30 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js
tree shaking对打包体积优化及作用
2022/07/07 Java/Android
SpringBoot详解执行过程
2022/07/15 Java/Android