MySQL从入门到精通:关于常用like子句中通配符的总结
Posted 翼同学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL从入门到精通:关于常用like子句中通配符的总结相关的知识,希望对你有一定的参考价值。
🔥系列专栏:【MySQL从入门到精通】---- 持续更新
目录
1️⃣前言
📙知识点:
- 什么是通配符?
- 如何使用通配符?
- 怎样使用
LIKE操作符
对数据进行复杂过滤?
💡概念:
通配符(wildcard)
- 即:用来匹配值的一部分的特殊字符。
搜索模式(search pattern)
- 即:由字面值、通配符或两者组合构成的搜索条件。
2️⃣通配符
一般的,我们会通过操作符对数据进行筛选过滤或匹配,是针对已知值!
不管是匹配一个还是多个值,测试大于还是小于已知值,或者检查某个范围的值,共同点是过滤中使用的值都是已知的。
但需要注意的是,有时我们会进行模糊匹配
类似在筛选商品时,我们会在搜索框里输入关键词‘华为’,这就能搜索商品中包含关键词的商品,这显然只能用通配符来实现,**利用通配符可创建比较特定数据的搜索模式。**比如上述例子中,我们可构造一个通配符搜索模式,找出商品名中任何位置出现‘华为’的商品。
下面就是通配符的介绍:
🟥%通配符
✨介绍
百分号(
%
)通配符是最常使用的。在
like
子句中,%
表示任何字符出现任意次数。
%
代表搜索模式中给定位置的0个、1个或多个字符。
🌱举例一:
- 找出所有以 ‘海’ 起头的商品
- 搜索模式–>:
'海%'
- 含义–>检索任意以 ‘海’ 开头的词。
%
告诉mysql
接受‘海’之后的任意字符
🌱举例二:
- 匹配任何位置包含文本
'e'
的值
- 搜索模式–>:
'%e%'
- 含义–>检索任意包含 ‘e’ 的文本。不论它之前或之后出现什么字符。
🌱举例三:
- 查询任意以
i
起头以o
结尾的商品:
- 搜索模式–>:
'i%o'
- 含义–>检索任意以
i
起头以o
结尾的所有商品:
🟨_通配符
✨介绍:
- 下划线
_
通配符和百分号%
通配符很类似- 不同在于,下划线通配符只能匹配单个字符!
- 与
%
能匹配0个字符不一样,_
总是匹配一个字符!
🌱举例一:
- 查询四个字的商品,并且以纸巾结尾
- 搜索模式–>:
'__纸巾'
- 含义–>检索以’纸巾’结尾的四字商品,开头为任意两个字:
3️⃣小结
✔️回答前言:
什么是通配符?
- 通配符是
SQL
的WHERE子句
中,有特殊含义的字符,例如:%
,_
如何使用通配符?
- 在搜索子句
select
中利用like
操作符操作通配符
怎样使用LIKE操作符
对数据进行复杂过滤?
- 根据要求,使用
like
子句组合通配符形成搜索模式,进而对数据进行模糊匹配。
通配符是一种极重要且有用的搜索工具。
还一些点,我们应该注意:
- 不要过度使用通配符。(如果其他操作符能达到相同的目的,应该使用其他操作符。)
- 除非绝对有必要,否则不要将通配符写在搜索模式的开始处。(把通配符置于搜索模式的开始处,搜索起来是最慢的。)
- 仔细注意通配符的位置。(如果放错地方,可能不会返回想要的数据。)
备注:
文章参数书:《MySQL必知必会》
MySQL从入门到精通50讲-MySQL中null值如何处理
MySQL NULL 值处理
我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。
为了处理这种情况,MySQL提供了三大运算符:
- IS NULL: 当列的值是NULL,此运算符返回true。
- IS NOT NULL: 当列的值不为NULL, 运算符返回true。
- <=>: 比较操作符(不同于=运算符),当比较的的两个值为NULL时返回true。
关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在MySQL中,NULL值与任何其它值的比较(即使是NULL)永远返回false,即 NULL = NULL 返回false 。
MySQL中处理NULL使用IS NULL和IS NOT NULL运算符。
在命令提示符中使用 NULL 值
以下实例中假设数据库 W3CSCHOOL 中的表 tcount_tbl 含有两列 w3cschool_author 和 w3cschool_count, w3cschool_count 中设置插入NULL值。
实例
尝试以下实例:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> create table tcount_tbl
-> (
-> w3csc
以上是关于MySQL从入门到精通:关于常用like子句中通配符的总结的主要内容,如果未能解决你的问题,请参考以下文章