例如有这么一个查询语句:

select * from server where ip in (....)

同时一个存放ip 的列表 :['1.1.1.1','2.2.2.2','2.2.2.2']

我们希望在查询语句的in中放入这个Ip列表,这里我们首先会想到的是用join来对这个列表处理成一个字符串,如下:

>>> a=['1.1.1.1','2.2.2.2','2.2.2.2']
>>> ','.join(a)
'1.1.1.1,2.2.2.2,2.2.2.2'

可以看到,join后的结果并不是我们想要的结果,因为引号的问题。所以我们会想到另外的办法:

>>> a=['1.1.1.1','2.2.2.2','2.2.2.2']
>>> ','.join(["'%s'" % item for item in a])
"'1.1.1.1','2.2.2.2','2.2.2.2'"

同样会有引号的问题,这个时候我们可以通过这个字符串去掉前后的双引号来达到目的。

但是,其实我们还有一种更安全更方便的方式,如下:

>>> a = ['1.1.1.1','2.2.2.2','3.3.3.3']
>>> select_str = 'select * from server where ip in (%s)' % ','.join(['%s'] * len(a))
>>> select_str
'select * from server where ip in (%s,%s,%s)'

这里我们先根据Ip列表的长度来生成对应的参数位置,然后通过MySQLdb模块中的execute函数来执行:

cursor.execute(select_str,a)

这样子就可以了

python mysql where in 对列表(list,,array)问题相关推荐

  1. python也有数组 --- 标准库中的列表工具array()

    array() 很多数据结构可能会用到内置列表类型.然而,有时可能需要不同性能代价的实现. array 模块提供了一个类似列表的 array() 对象,它仅仅是存储数据,更为紧凑. 使用方式与列表一样 ...

  2. 用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例

    用Python+Mysql+MDUI实现的数据库增删改查列表操作及单,多文件上传实例.web服务用flask框架,数据库操作用的pymysql框架.教程在我B站有的. 开源地址:https://git ...

  3. 在Python中将整数附加到列表的开头

    本文翻译自:Append integer to beginning of list in Python I have an integer and a list. 我有一个整数和一个列表. I wou ...

  4. python MySQL 插入Elasticsearch

    一.需求分析 注意: 本环境使用 elasticsearch 7.0版本开发,切勿低于此版本 mysql 表结构 有一张表,记录的数据特别的多,需要将7天前的记录,插入到Elasticsearch中, ...

  5. Python MySQL 插入表

    Python MySQL 插入表 - 吴吃辣 - 博客园 Python MySQL 插入表 章节 Python MySQL 入门 Python MySQL 创建数据库 Python MySQL 创建表 ...

  6. Python MySQL(MySQLdb)

    Python MySQL(MySQLdb) Python标准的数据库接口的Python DB-API(包括Python操作MySQL).大多数Python数据库接口坚持这个标准. Python标准的数 ...

  7. python循环读取excel存入列表_python3 循环读取excel文件并写入json操作

    文件内容: excel内容: 代码: import xlrd import json import operator def read_xlsx(filename): # 打开excel文件 data ...

  8. python 怎么打印数组_?怎么将python中的数组全部打印出来array

    python array list 1,3似乎不遍历循环是不行滴~ python中的list和array的不同之处 上面正解 python的numpy中合并array 你好: 你用append()是函 ...

  9. 【python MySQL 笔记】MySQL 查询

    [python MySQL 笔记]MySQL 查询 目录 1.数据准备和基本查询 1.1. 数据准备 1.2.基本查询 2. 条件查询 2.1. 比较运算符 2.2. 逻辑运算符 2.3. 模糊查询 ...

最新文章

  1. qemu+tap+bridge
  2. Hadoop学习笔记—18.Sqoop框架学习
  3. pytorch笔记:pytorch的乘法
  4. interface接口实例
  5. 如何查询SAP C4C创建日期大于某日的所有lead数据
  6. 【个人笔记】OpenCV4 C++ 图像处理与视频分析 11课
  7. 如何优雅的抢占别人的显卡?
  8. 基于QT的音乐播放器
  9. 织梦网站地图html制作,dedecms织梦制作xml网站地图的方法
  10. 22道接口测试面试题答案。
  11. android应用跳文件管理,10款优秀Android文件管理器应用
  12. 拉格朗日插值公式与mathematica程序实现
  13. 基于labview的虚拟简单信号发生器
  14. 500元大洋学习SEO
  15. 结构化英语查询语言SQL
  16. Springboot毕业设计管理系统毕业设计-附源码221032
  17. 网络安全工程师(渗透运维)难学吗?
  18. 手机无线鼠标服务器.zip,无线鼠标遥控器_Remote Mouse 1.0双版 用手机遥控你的电脑...
  19. www-authenticate
  20. Win10删除或移动文件进度卡在99%->系统资源管理器cpu占用率及电源使用情况非常高的解决方法

热门文章

  1. 如何正确使用手机拍摄证件照
  2. WPF中的数据模板(DataTemplate)
  3. 汇报工作的技巧和要求
  4. 语c和c语言,00后黑话等级测试,你能看懂几句?
  5. 又整理了一些面试相关的:视频教程,面试经验,简历模板,写简历的技巧等
  6. 魔域手游安卓修改服务器地址,魔域互通端游手游架设
  7. 关于信息安全认证CISP与CISSP的对比及分析
  8. 介绍一下大型企业数据防泄密产品选型的思路
  9. 如何卸载电脑中linux系统软件,Linux下如何卸载软件
  10. 计算机有些应用无法卸载,有些软件卸载不了怎么办_电脑软件卸载不了的正确解决方法...