我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql使用正则匹配查询关键词的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql使用正则匹配查询关键词的方法

我们在查询某个字段的时候,有时候只想匹配某段数据,比如想查询这篇文章的所有关键词是否存在某个关键词,我们往往需要匹配,我们下面来讲解一下如何匹配查询某个关键词值

SQL模糊查询的语法为
“SELECT column FROM table WHERE column LIKE ';pattern';”。

SQL提供了四种匹配模式:
1. % 表示任意0个或多个字符。如下语句:
SELECT * FROM user WHERE name LIKE ';%三%';
将会把name为“张三”,“三脚猫”,“唐三藏”等等有“三”的全找出来;

2. _ 表示任意单个字符。语句:
SELECT * FROM user WHERE name LIKE ';_三_';
只找出“唐三藏”这样name为三个字且中间一个字是“三”的;
SELECT * FROM user WHERE name LIKE ';三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3. [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:
SELECT * FROM user WHERE name LIKE ';[张李王]三';
将找出“张三”、“李三”、“王三”(而不是“张李王三”);

如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM user WHERE name LIKE ';老[1-9]';
将找出“老1”、“老2”、……、“老9”;
如要找“-”字符请将其放在首位:';张三[-1-9]';

4. [^ ] 表示不在括号所列之内的单个字符。语句:
SELECT * FROM user WHERE name LIKE ';[^张李王]三';
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM user WHERE name LIKE ';老[^1-4]';
将排除“老1”到“老4”寻找“老5”、“老6”、……、“老9”。

!最后是重点!
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”、“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:

function sqlencode(str)
str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先
str=replace(str,"_","[_]")
str=replace(str,"%","[%]")
sqlencode=str
end function

以上就是mysql正则匹配模糊法查询某个字段的详细内容,更多请关注亿速云其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql使用正则匹配查询关键词的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Notepad++使用正则表达式匹配的方法

这篇文章主要介绍了Notepad++使用正则表达式匹配的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-15

MySQL中如何使用正则表达式进行数据查询和匹配

在MySQL中,可以使用正则表达式进行数据查询和匹配,可以使用LIKE和REGEXP两种方式。使用LIKE操作符进行模糊匹配,但是LIKE只支持通配符匹配,不支持正则表达式的匹配规则。示例如下:SELECT * FROM table_nam
MySQL中如何使用正则表达式进行数据查询和匹配
2024-03-06

在Java中使用正则表达式匹配${key}的方法

这篇文章将为大家详细讲解有关在Java中使用正则表达式匹配${key}的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.正则表达式匹配${key}\$\{([a-z]+)\} 能够匹配字符串中以${
2023-06-07

Mysql子查询关键字的使用方式(exists)

目录1. all1.1 格式1.2 特点 1.3 操作2. any(some)1.1 格式1.2 特点1.3 操作3. in1.1 格式1.2 特点1.3 操作4. exist1.1 格式1.2 特点1.3 操作1.4 解释1. all1
2022-07-07

mongodb模糊查询正则表达式使用的方法是什么

在 MongoDB 中,可以使用正则表达式进行模糊查询。使用正则表达式进行模糊查询的方法是在查询条件中使用 `$regex` 操作符。具体的语法如下:```javascriptdb.collection.find({ field: { $r
2023-08-24

Python使用中文正则表达式匹配指定中文字符串的方法示例

本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法。分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类
2022-06-04

mysql 使用join进行多表关联查询的操作方法

本文介绍了MySQL多表关联查询(JOIN)的操作方法,包括JOIN条件、JOIN类型(INNERJOIN、LEFTJOIN、RIGHTJOIN、FULLJOIN)、JOIN语法和示例。此外,还介绍了高级JOIN选项,如NATURALJOIN、USINGJOIN和CROSSJOIN。最后,提供了优化JOIN查询的建议,如创建索引和选择较小的表作为左表。通过理解这些概念,用户可以创建高效的关联查询,提取有意义的信息并提高应用程序性能。
mysql 使用join进行多表关联查询的操作方法
2024-04-02

此查询中的 MySQL 语法错误是什么 – 使用保留关键字创建表?

假设我们尝试创建一个名为“groups”的表,这是 MySQL 中的保留关键字。您不能使用“groups”,因为 groups 是 MySQL 中的保留关键字。创建名为“groups”的表时发生以下错误 -mysql> create tab
2023-10-22

编程热搜

目录