`

MySql like模糊查询通配符使用详细介绍

 
阅读更多
MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式

一、SQL模式
SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符。

SELECT 字段 FROM 表 WHERE 某字段 Like 条件

其中关于条件,SQL提供了四种匹配模式:
1,%:表示任意个或多个字符。可匹配任意类型和长度的字符。
比如
 SELECT * FROM [user] WHERE u_name LIKE ‘%三%'

将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE ‘%三%' AND u_name LIKE ‘%猫%'

若使用
SELECT * FROM [user] WHERE u_name LIKE ‘%三%猫%'

虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2,_:表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:(可以代表一个中文字符)
比如 SELECT * FROM [user] WHERE u_name LIKE ‘_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
再比如 SELECT * FROM [user] WHERE u_name LIKE ‘三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;

二、正则模式
由MySQL提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩展正则表达式的一些字符是:
“.”匹配任何单个的字符。(单字节字符)
一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。

“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数量的任何东西。
正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹配两种写法的任何字母。
如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。
为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。

为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:
为了找出以“三”开头的名字,使用“^”匹配名字的开始。
FROM [user] WHERE u_name REGEXP ‘^三';

将会把u_name为 “三脚猫”等等以“三”开头的记录全找出来。
为了找出以“三”结尾的名字,使用“$”匹配名字的结尾。
FROM [user] WHERE u_name REGEXP ‘三$';

将会把u_name为“张三”,“张猫三”等等以“三”结尾的记录全找出来。
你也可以使用“{n}”“重复n次”操作符重写先前的查询:
FROM [user] WHERE u_name REGEXP ‘b{2}$';

注意:如果是中文字符,可能在使用时需要注意一下。
分享到:
评论

相关推荐

    MySql模糊查询like通配符使用详细介绍.docx

    MySQL 模糊查询 Like 通配符使用详细介绍 MySQL 提供了两种模式匹配方式:SQL 模式和正则表达式模式。SQL 模式允许使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL 中,SQL 的模式...

    MySql模糊查询like通配符使用详细介绍.pdf

    MySql 模糊查询 like 通配符使用详细介绍 在 MySQL 中,模糊查询是使用 LIKE 或 NOT LIKE 操作符来实现的。LIKE 操作符可以使用两个通配符:“_”和“%”。“_”表示任意单个字符,而“%”匹配任意数目字符(包括零...

    浅谈MySQL模糊查询中通配符的转义

    sql中经常用like进行模糊查询,而模糊查询就要用到百分号“%”,下划线“_”这些通配符,其中“%”匹配任意多个字符,“_”匹配单个字符。如果我们想要模糊查询带有通配符的字符串,如“60%”,“user_name”,就...

    MySQL 数据库 like 语句通配符模糊查询小结

    MySQL 报错:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 数据库 like 语句通配符模糊查询小结 前言 今天在使用MySQL语句执行增删改查操作时,控制台报出了以下错误:Parameter...

    解决MySql大数据Like查询慢的问题

    在MySQL数据库中,LIKE查询是常用的模糊匹配方法,但当处理大数据量时,尤其是涉及到通配符(如%)的LIKE查询,其性能问题不容忽视。这类查询往往会导致全表扫描,消耗大量的CPU资源和时间,进而拖慢整体系统的响应...

    MySQL Like模糊查询速度太慢如何解决

    总之,优化MySQL LIKE模糊查询的关键在于理解查询模式、索引的使用以及MySQL的工作原理。通过上述方法,可以显著提升查询性能,减少对系统资源的消耗。在实际操作中,应结合具体场景灵活运用这些策略。

    mysql数据表模糊查询

    MySQL通过`LIKE`关键字支持模糊查询,可以使用不同的通配符来匹配数据。 #### 三、通配符介绍 - **%**:代表任意数量的字符,可以是零个、一个或多个字符。例如,`'%三%'`将匹配任何包含“三”的记录。 - **_**:...

    Mysql| 使用通配符进行模糊查询详解(like,%,_)

    本文将详细讲解如何使用`LIKE`操作符配合通配符`%`和`_`进行模糊查询。 `LIKE`操作符是MySQL中用于执行模糊匹配的关键字。它的工作原理是,让你指定一个模式,该模式可以包含普通字符和通配符,然后MySQL将根据这个...

    PHP+MySQL实现模糊查询员工信息功能示例

    在本示例中,将会介绍如何使用PHP连接到MySQL数据库,然后通过“LIKE”语句来实现模糊查询员工信息的功能。同时,本示例也涉及到了使用PHP处理HTML表单提交的数据,并将查询结果显示在网页上。 首先,连接MySQL...

    mysql模糊查询.pdf

    在 MySQL 数据库中,模糊查询是一种强大的检索技术,它允许用户使用通配符来搜索不完全匹配的记录。这在处理大量数据时非常有用,特别是当你不确定确切的查询条件时。以下是一些关于 MySQL 模糊查询的关键知识点: ...

    mysql语句集合包括模糊查询索引函数

    在描述中提到的“模糊查询”是SELECT语句的一种特殊形式,它允许我们使用通配符来查找不完全匹配的数据。在MySQL中,通配符主要有两个:“%”代表零个、一个或多个字符,而“_”则代表单个字符。例如,"LIKE 'abc%'...

    mysql对于模糊查询like的一些汇总

    通过explain执行计划,我们发现,使用like模糊查询时,如果不以%和_开头查询的话,索引还是有效的 以%或者_开头查询,索引失效 (2)使用覆盖索引 当查询的的条件和查询的结果都是索引中的字段的时候,这个索引...

    mysql模糊匹配和常用通配符使用

    首先,mysql 模糊匹配使用like语句,通配符有:%,_(下划线) %的作用:表示任何字符出现任意次数(即可以匹配任意字符0次或无数次) _(下划线)作用:只能匹配单个字符。 01.例:我要模糊查询名字是张开头的,且名字...

    mysql中模糊查询的四种用法介绍

    本文将详细介绍四种常见的MySQL模糊查询用法,帮助你在处理数据库查询时更加灵活高效。 1. **百分号(%)**:百分号在模糊查询中代表任意数量的字符,包括零个字符。例如,`SELECT * FROM user WHERE u_name LIKE '...

    sql server数据库模糊查询语句

    SQL Server 模糊查询语句是指使用 LIKE 关键字和通配符来搜索符合指定模式的字符串。下面是 SQL Server 模糊查询语句的详细说明: 1. LIKE 关键字:LIKE 关键字用于搜索符合指定模式的字符串。它可以与通配符结合...

    多字段 模糊查询 不要分

    模糊查询的核心在于其容忍一定程度的不精确性,这通常通过使用通配符、相似度度量或者音近词匹配来实现。例如,当用户输入“计算*学”时,系统可以返回“计算机科学”、“计算力学”等结果。在多字段模糊查询中,...

    mysql模糊查询.docx

    在MySQL中,我们主要使用`LIKE`、`NOT LIKE`、`INSTR`、`REGEXP`和`RLIKE`等关键字来进行模糊查询。 1. `LIKE`和`NOT LIKE` - `LIKE`用于查找与模式匹配的行,模式可以包含通配符。例如: ```sql SELECT * FROM ...

    自写php+MySQL模糊查询

    在构建动态网站的过程中,数据库查询是...总的来说,这个项目展示了如何使用PHP和MySQL实现动态模糊查询,这对初学者来说是一个很好的实践案例。通过不断学习和实践,你可以掌握更高级的查询技术,提升网站的用户体验。

Global site tag (gtag.js) - Google Analytics