mysql多条件查询

发布时间: 2023-11-21 12:12 阅读: 文章来源:1MUMB3281PS

正常情况可以多个like 用and or not条件进行查询,但对于一句话里面不相关词组合查询不好操作(当然es数据库天然就是可以解决这个问题但,倒排索引直接用于搜索)

这里介绍like多查询条件语句:like concat (‘%a%‘,‘%b%‘)

另外:对于concat里面词不固定,可以考虑结巴分词后转化成格式要求自动填入

例子:

hot="select * from hx_media_scrapy_info_202001 where media_title like concat (‘%疯狂的外星人%‘,‘%2019%‘)"

结果:

```

((302, ‘疯狂的外星人电影2019‘, ‘https:https://r1.ykimg.com/050E00005D3E97D5425BD91F5BF094AA?x-oss-process=image/resize,w_360/quality,q_80‘, ‘tps: https://v.youku.com/v_show/id_XNDA1MzY1NTQ4NA==.html?s=dca14a5872efbfbd11ef ‘, ‘122.226.183.149 浙江省台州市 电信‘, ‘420100‘, ‘3‘, ‘1‘, datetime.datetime(2020, 1, 2, 13, 16, 43), ‘‘, ‘别名: 疯狂 外星 人 上映时间: 2019-02-05 导演: 宁浩 主演: 黄渤 / 沈腾 / 马修·莫里森 / 汤姆·派福瑞 简介: 耿浩(黄渤 饰)与一心想发大财的好兄弟大飞(沈腾 饰),经营着各自惨淡的“事业”,然而“天外来客”的意外降临,打破了二人平静又拮据的生活。神秘的西方力量也派出“哼哈二将”在全球搜查外星人行踪。啼笑皆非的跨物种对决,别开生面的“星战”,在中国某海边城市激情上演。‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘‘, ‘0‘, ‘0‘, ‘0‘, datetime.datetime(2020, 1, 2, 13, 16, 43), datetime.datetime(2020, 1, 2, 13, 16, 43), ‘0‘, None, 0, datetime.date(2020, 1, 2), 154), (10975, ‘《疯狂的外星人》优酷独家策划电影2019‘, ‘https:https://r1.ykimg.com/050E40005C5418EFADC3117FC2052727?x-oss-process=image/resize,w_360/quality,q_80‘, ‘‘, ‘https: https://v.youku.com/v_show/id_XNDA0NjE1OTE5Ng==.html?s=db5dc766c8a043e18e93 ‘, ‘122.226.183.149 浙江省台州市 电信‘, ‘420100‘, ‘3‘, ‘1‘, datetime.datetime(2020, 1, 2, 13, 16, 43), ‘‘, ‘上映时间: 2019-02-05 导演: 宁浩 主演: 沈腾 / 徐峥datetime.datetime(2020, 1, 2, 13, 23, 23), ‘0‘, None, 0, datetime.date(2020, 1, 2), 154))

```

结合结巴分词:(转化成元祖)

```

import pymysqlimport datetimeimport jiebakk = " ".join(jieba.cut("疯狂的外星人电影2019"))kk=kk.split(" ")k=tuple(["%"+i+"%" for i in kk])conn = pymysql.connect(host=‘pccom‘, user=‘cw‘, password=‘edc‘, port=3306, db=‘hu_dev‘)cursor = conn.cursor()hot="select * from hx_media_scrapy_info_202001 where media_title like concat {}".format(k)cursor.execute(hot)# 获取所有记录列表results = cursor.fetchall()conn.commit()print(results,"成功")
•••展开全文