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中利用Pandas库处理大数据的简单介绍
Apr 07 Python
python去除空格和换行符的实现方法(推荐)
Jan 04 Python
Pycharm学习教程(1) 定制外观
May 02 Python
python中requests使用代理proxies方法介绍
Oct 25 Python
selenium获取当前页面的url、源码、title的方法
Jun 12 Python
使用python实现ftp的文件读写方法
Jul 02 Python
Python面向对象封装操作案例详解
Dec 31 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
如何利用python生成MD5并去重
Dec 07 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 Python
python多线程方法详解
Jan 18 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采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
AJAX分页的代码(后台asp.net)
2011/02/14 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
Avalonjs 实现简单购物车功能(实例代码)
2017/02/07 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
vue.js移动端app之上拉加载以及下拉刷新实战
2017/09/11 Javascript
JS实现的input选择图片本地预览功能示例
2018/08/29 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
vue项目上传Github预览的实现示例
2018/11/06 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
微信小程序实现上拉加载功能
2019/11/20 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
推荐下python/ironpython:从入门到精通
2007/10/02 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
使用python3构建文件传输的方法
2019/02/13 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
使用Python内置模块与函数进行不同进制的数的转换
2020/04/26 Python
Python生成随机验证码代码实例解析
2020/06/09 Python
.net开发工程师面试题
2014/02/25 面试题
总经理助理的八要求
2013/11/12 职场文书
村捐赠仪式答谢词
2014/01/21 职场文书
幼儿园门卫制度
2014/01/29 职场文书
年终总结会议主持词
2014/03/17 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
债务纠纷起诉书
2015/05/20 职场文书
好员工观后感
2015/06/17 职场文书
win10重装系统后上不了网怎么办 win10重装系统网络故障的解决办法
2022/07/23 数码科技