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 当前全局变量和入口参数的所有属性
Jul 01 Python
Python常用内置函数总结
Feb 08 Python
在Python下尝试多线程编程
Apr 28 Python
python 环境变量和import模块导入方法(详解)
Jul 11 Python
python实现学生信息管理系统
Apr 05 Python
python监测当前联网状态并连接的实例
Dec 18 Python
对python多线程中互斥锁Threading.Lock的简单应用详解
Jan 11 Python
Django REST Framework之频率限制的使用
Sep 29 Python
pyinstaller打包程序exe踩过的坑
Nov 19 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
如何用python开发Zeroc Ice应用
Jan 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 验证码的实现代码
2011/07/17 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
c#和Javascript操作同一json对象的实现代码
2012/01/17 Javascript
JS OffsetParent属性深入解析
2014/01/13 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
jquery选择器简述
2015/08/31 Javascript
VUEJS实战之修复错误并且美化时间(2)
2016/06/13 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
Antd中单个DatePicker限定时间输入范围操作
2020/10/29 Javascript
利用Python演示数型数据结构的教程
2015/04/03 Python
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
最新版 Windows10上安装Python 3.8.5的步骤详解
2020/11/28 Python
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
如何利用find命令查找文件
2016/11/18 面试题
个人实习生的自我评价
2014/02/16 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
javascript对象3个属性特征
2021/11/17 Javascript
Python中异常处理用法
2021/11/27 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电