MySQL使用通配符进行数据搜索以及过滤

发布时间:2024年01月15日

目录

1.什么是通配符?

2.通配符之→百分号(%)

3.通配符之→下划线(_)

4.通配符使用注意事项


*本文涉及概念来源于图灵程序设计丛书,数据库系列——《MySQL必知必会》

1.什么是通配符?

通配符(wildcard) :用来匹配值的一部分的特殊字符。简单来说,就是在进行数据库查找时,并不总是明确知道要查找的数据的具体值。如下面场景(题目来源于牛客网),需要读取university一列中带有“北京”字的信息。

为了在搜索语句中使用通配符,需要用到LIKE操作符,作用是指示MySQL利用通配符进行匹配,而不是直接相等匹配(WHERE university = '北京大学'就是直接进行相等匹配)。

2.通配符之→百分号(%)

直接用上面提到的搜索学校中带有“北京”二字的用户信息的例子。

SELECT *
FROM user_profile
WHERE university LIKE '%北京%';

结果会输出所有学校为“北京大学、北京师范大学”(带有北京二字)的用户信息。

3.通配符之→下划线(_)

下划线的用途跟%一样,区别是下划线只能匹配单个字符,百分号可以匹配0、1或多个字符。

下图可以发现,下划线无法匹配到(.5 ton anvil)这一行

4.通配符使用注意事项

①如果其他操作符(如AND、OR、IN、NOT)等可以达到检索目的,不要使用通配符,会加大搜索时间。

②确实需要使用通配符时,尽量不要用在搜索模式的开始,这样是最慢的(容易理解,用在最开始相当于在整个表中用通配符进行匹配)。

文章来源:https://blog.csdn.net/qq_54444533/article/details/135587218
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。