mysql中传递带索引的dict键列表?

aiazj4mn  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(276)

我陷入了python的mysql问题
我有以下格言:

{'Date': '2017-09-26', 'Title': ['%Accounting%', '%Php Codeigniter job%', '%laravel developer job%', '%Angular Js Developer%'], 'Location': '%USA%'}

我的问题如下:

SELECT `id` 
FROM   `jobs` 
WHERE  Date(`jobs`.`closing_date`) >= %(Date)s 
       AND `title` LIKE %(Title)s or %(Title)s or %(Title)s or %(Title)s 
       AND ( `location_name_list` LIKE %(Location)s 
              OR `location_name_list` LIKE %(Location)s 
              OR `location_name_list` LIKE %(Location)s )

现在我想在sql查询中插入dictionary的每个值。我知道如何插入单变量值。但对于 Title 我想插入标题索引明智。
如何在查询中插入每个标题。我在google上搜索了很多次,但每次我都只在查询中传递简单的列表,但我不知道如何在查询中传递列表索引。
我想执行如下查询:

SELECT `id` 
    FROM   `jobs` 
    WHERE  Date(`jobs`.`closing_date`) >= '2017-09-26' 
           AND `title` LIKE '%Accounting%' or '%Php Codeigniter job%' or '%laravel developer job%' or '%Angular Js Developer%' 
           AND ( `location_name_list` LIKE '%USA%' 
                  OR `location_name_list` LIKE '%USA%' 
                  OR `location_name_list` LIKE '%USA%' )

我一直在研究如何在查询中传递标题,以便在查询中获得所有标题。我考虑过用索引传递title,因为它在list中,但我不知道如何在pythonmysql查询中用索引传递list元素。请告诉我。
提前谢谢

dnph8jn4

dnph8jn41#

如果您正在寻找动态查询生成器,可以使用list的join()函数将列表中的所有元素与特定分隔符连接起来。这将给你的解决方案,但我不知道如何python的代码将是。

data = {'Date': '2017-09-26', 'Title': ['%Accounting%', '%Php Codeigniter job%', '%laravel developer job%', '%Angular Js Developer%'], 'Location': '%USA%'}
query = 'SELECT `id` FROM   `jobs` WHERE  Date(`jobs`.`closing_date`) >= '2017-09-26' AND `title` LIKE ' + "' or '".join(data['Title']) + ' AND ( `location_name_list` LIKE "%USA%"  OR `location_name_list` LIKE "%USA%" OR `location_name_list` LIKE "%USA%" )'

相关问题