第一种:拼接字符串,可以解决问题,但是为了避免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 mysql in 参数_python mysql中in参数化说明相关推荐

  1. python super().__init__()参数_python类中super()和__init__()的区别

    单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class ch ...

  2. python做数据库管理系统_python+mysql做一个图书管理系统?

    开发一个图书管理系统,首先需要对此项目进行一个简单的需求分析: 主要功能包括:图书信息 图书分类 用户信息 用户借阅统计 管理员 管理员权限 接下来可以进行数据库的设计,在这里我提供一个简单的数据库表 ...

  3. python训练模型测试模型_python 机器学习中模型评估和调参

    在做数据处理时,需要用到不同的手法,如特征标准化,主成分分析,等等会重复用到某些参数,sklearn中提供了管道,可以一次性的解决该问题 先展示先通常的做法 import pandas as pd f ...

  4. python获取命令行参数_Python获取命令行参数的正确方法,案例详解

    最近编写一个python程序的时候,需要去获取python命令行的参数,因此这里记录下如何获取命令行参数的方法. 一.sys 模块 在 Python 中,sys 模块是一个非常常用且十分重要的模块,通 ...

  5. python 命令行 参数_Python命令行参数

    python 命令行 参数 Python Command line arguments are input parameters passed to the script when executing ...

  6. python 接收外部参数_python 接收处理外带的参数方法

    python 接收处理外带的参数方法 在执行python 代码的时候,有时候需要传递外面的参数进行处理 这个该怎么实现呢? 需要一个模块 from sys import argv 当然也可以直接只导入 ...

  7. python批量查询数据库_Python + MySQL 批量查询百度收录

    做SEO的同学,经常会遇到几百或几千个站点,然后对于收录情况去做分析的情况 那么多余常用的一些工具在面对几千个站点需要去做收录分析的时候,那么就显得不是很合适. 在此特意分享给大家一个批量查询百度收录 ...

  8. python基础课程设计项目_Python+MySQL开发医院网上预约系统(课程设计)一

    一:开发环境的配置 1:桌面环境为cnetos+python2.7 2:MySQL的安装与配置 1)MySQL的安装 wget http://repo.mysql.com/mysql57-commun ...

  9. python医院管理系统代码_Python+MySQL开发医院网上预约系统(课程设计)一

    一:开发环境的配置 1:桌面环境为cnetos7+python2.7 2:mysql的安装与配置 1)mysql的安装 mysql官方文档: mysql yum 下载:或者直接用weget下载: wg ...

最新文章

  1. 1103 Integer Factorization 需再做
  2. Java是否支持默认参数值?
  3. 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...
  4. Acwing第 22 场周赛【未完结】
  5. sqlplus -prelim,sqplus区别
  6. Jenkins构建 netcore5.0 项目时出现NU3028/NU3037错误的解决方案
  7. html页面乱码问题
  8. python高阶函数——sorted排序算法
  9. MATLAB解二元二次方程+画图 = 画隐式方程的图像
  10. php 热搜词,2020 十大网络热搜流行语来了!你知道几个?
  11. Android工具 - 随机测试(猴子)
  12. Shinobi视频监控平台
  13. ubuntu teamviewer
  14. 【nRF Connect】三、连接蓝牙设备
  15. 利用hexo和github搭建静态博客(一)
  16. QWidget 半透明窗口解决方案
  17. 伪装目标检测(Camouflage Object Detection)部分经典论文汇总
  18. 多个label排版,动态长度及自动换行
  19. jpg转pdf文件转换器注册码
  20. (每日更新)里里,阿里里,阿里阿里里:【第一期】喜欢的记得关注哈

热门文章

  1. 口袋之旅html5超强账号,口袋之旅特攻排行榜 强大的绝对能力
  2. facebook对话链接_Facebook已开源其最新的聊天机器人Blender
  3. 得力条码扫描器怎么用_广东智能物流控制系统怎么选
  4. matlab信号内插,基于VC++和Matlab的数字信号内插处理系统
  5. vc2010 mysql5.7_VC2010利用MySQL++访问mysql. 及连接池示例
  6. 切割 字符串_web前端如何使用字符串
  7. LeetCode(#1)————Two Sum
  8. account表里有什么 银行_模拟一个银行账户类Account,账户类中包括所有者、账号、余额、账户总数、存款、取款等信息。_学小易找答案...
  9. 单变量和多变量财务预警模型_SPSS数据分析,基于判别分析上市公司财务危机预警分析...
  10. oracle 根据用户备份,Oracle基于用户的备份及恢复