Python如何处理MySQL中WHERE IN列表(list)的查询问题?

2026-05-25 03:310阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计593个文字,预计阅读时间需要3分钟。

Python如何处理MySQL中WHERE IN列表(list)的查询问题?

例如,有一个查询语句如下:sqlSELECT * FROM server WHERE ip IN (... )同时有一个存储IP的列表:pythonip_list=['1.1.1.1', '2.2.2.2', '2.2.2.2']我们希望在查询语句的IN中插入这个IP列表,首先我们会想到使用joi。

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

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'"

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

阅读全文

本文共计593个文字,预计阅读时间需要3分钟。

Python如何处理MySQL中WHERE IN列表(list)的查询问题?

例如,有一个查询语句如下:sqlSELECT * FROM server WHERE ip IN (... )同时有一个存储IP的列表:pythonip_list=['1.1.1.1', '2.2.2.2', '2.2.2.2']我们希望在查询语句的IN中插入这个IP列表,首先我们会想到使用joi。

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

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'"

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

阅读全文