当前位置: 首页 > news >正文

【mysql】关键词搜索实现

关键词搜索实现两种方式

-- 方式1 模糊匹配搜索
-- 场景一:搜索出来地址内包含‘李’和‘中国’的
select * from tn_md_cust_link  where address like concat ('%李%') or address like concat ('%中国%') 
-- 场景二:搜索地址或者名称包含 ‘181’ 的  
select * from tn_md_cust_link  where address like concat ('%181%') or link_person like concat ('%181%') -- 方式2  正则搜索
-- 场景一:搜索出来地址内包含‘李’和‘中国’的
SELECT * FROM tn_md_cust_link WHERE address REGEXP '李|中国';

正则搜索使用参考注意

使用正则表达式进行关键词搜索
假设我们想要查找内容中包含某个关键词或模式的文章。可以使用 REGEXP 或 RLIKE 来实现这一点。

示例 1:查找包含单个关键词的文章
下面的查询将查找内容中包含“SQL”这个词的所有文章:

sql
SELECT * FROM articles WHERE content REGEXP ‘SQL’;
示例 2:查找包含多个关键词的文章
如果我们希望查找内容中包含多个关键词(例如“SQL”和“performance”),可以使用正则表达式的 OR 操作符 |:

sql
SELECT * FROM articles WHERE content REGEXP ‘SQL|performance’;
示例 3:忽略大小写进行关键词搜索
MySQL 的 REGEXP 操作符默认不区分大小写。如果你想要区分大小写,可以使用 REGEXP BINARY:

sql
SELECT * FROM articles WHERE content REGEXP BINARY ‘SQL’;
完整示例
综合以上,假设我们想要查找内容中包含“SQL”或者“advanced”的所有文章:

sql
SELECT * FROM articles WHERE content REGEXP ‘SQL|advanced’;
这个查询会返回所有内容中包含“SQL”或“advanced”的文章。

注意事项
性能问题: 正则表达式匹配可能会导致查询性能下降,尤其是在大型数据集上。请确保在需要时优化查询性能。
索引: 正则表达式匹配通常无法利用索引,因此在执行频繁的正则表达式搜索时请注意性能影响。
数据库支持: 并非所有的 SQL 数据库管理系统都原生支持正则表达式匹配,请根据具体的数据库系统参考相应的文档。

相关文章:

  • Highcharts 饼图
  • Python爬虫-贝壳二手房“改进版”
  • 深入了解 Android 中的 ViewStub
  • yolov8训练初体验
  • CSS的 text-decoration
  • 八大排序浅入浅出
  • Instagram APIj接口——快速获取Ins帖子媒体内容下载链接
  • python脚本获取本机IP的方式
  • Flume基础教程
  • 使用python下载图片且批量将图片插入word文档
  • 如何设置MySQL远程访问权限?
  • [学习笔记]-MyBatis-Plus简介
  • Minillama3->dpo训练
  • OCR识别
  • 【IEEE独立出版、有确定的ISBN号】第三届能源与电力系统国际学术会议 (ICEEPS 2024)
  • 78. Subsets
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • CSS 三角实现
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Hibernate【inverse和cascade属性】知识要点
  • iOS 系统授权开发
  • Leetcode 27 Remove Element
  • Next.js之基础概念(二)
  • nodejs调试方法
  • node入门
  • overflow: hidden IE7无效
  • python学习笔记-类对象的信息
  • Python学习之路13-记分
  • React组件设计模式(一)
  • SQLServer之创建数据库快照
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • VuePress 静态网站生成
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 服务器从安装到部署全过程(二)
  • 基于 Babel 的 npm 包最小化设置
  • 技术胖1-4季视频复习— (看视频笔记)
  • 前端面试之闭包
  • 如何利用MongoDB打造TOP榜小程序
  • 译自由幺半群
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​低代码平台的核心价值与优势
  • ​用户画像从0到100的构建思路
  • (2)STL算法之元素计数
  • (4.10~4.16)
  • (代码示例)使用setTimeout来延迟加载JS脚本文件
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (四)模仿学习-完成后台管理页面查询
  • (四)事件系统
  • (一)基于IDEA的JAVA基础10
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)Linux整合apache和tomcat构建Web服务器
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码