【发布时间】:2016-05-31 11:39:28
【问题描述】:
我有一个场景,我需要排除数千个具有特定域名的电子邮件 ID。
我当前的查询是
Select * from users where email NOT LIKE '%abc.com'
AND email NOT LIKE '%efg.com'
AND email NOT LIKE '%xyz.com'
当我转向 python 时,我写了一个类似的查询
MySQLcursor.execute (Select * from users where email NOT LIKE '%abc.com'
AND email NOT LIKE '%efg.com'
AND email NOT LIKE '%xyz.com' )
我可以制作一个通用的域列表并将它们排除在外吗?
我试过的是
list_of_domains = ('%%abc.com','%%xyz.com','%%efg.com')
MySQLcursor.execute (Select * from users where email NOT LIKE %(exclude_domain)s, {"exclude_domain":list_of_domains} )
如果 list_of_domains 中只有 1 个值,它似乎可以工作。因为,当它解压列表时,它只能将“电子邮件不喜欢”条件与 1 个域列表匹配。
如何进行通用查询,以便如果明天,如果我有新域,我只需将其添加到 list_of_domains 即可。
我不确定这是否可能?有人可以帮忙吗?
【问题讨论】:
标签: python mysql sql mysql-python sql-like