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️⃣小结

✔️回答前言:

什么是通配符?

  • 通配符是SQLWHERE子句中,有特殊含义的字符,例如:%_

如何使用通配符?

  • 在搜索子句select中利用like操作符操作通配符

怎样使用LIKE操作符对数据进行复杂过滤?

  • 根据要求,使用like子句组合通配符形成搜索模式,进而对数据进行模糊匹配。
    通配符是一种极重要且有用的搜索工具。

还一些点,我们应该注意:

  1. 不要过度使用通配符。如果其他操作符能达到相同的目的,应该使用其他操作符。
  2. 除非绝对有必要,否则不要将通配符写在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起来是最慢的。
  3. 仔细注意通配符的位置。如果放错地方,可能不会返回想要的数据。

备注:

文章参数书:《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子句中通配符的总结的主要内容,如果未能解决你的问题,请参考以下文章

MySQL从入门到精通50讲-MySQL正则表达式及事务

Spark从入门到精通18:RDD常用高级算子介绍

MySQL从入门到精通50讲-MySQL中null值如何处理

MySQL从入门到精通:多表查询的灵活运用_02

MySQL之like操作符

MySQL之like操作符