有关MySQL通配符的总结

503 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情

Mysql学习笔记.png

1️⃣前言

📙本章知识点:

  • 什么是通配符?
  • 如何使用通配符?
  • 怎样使用LIKE操作符对数据进行复杂过滤?

💡概念:

通配符(wildcard

  • 即:用来匹配值的一部分的特殊字符。

搜索模式(search pattern

  • 即:由字面值、通配符或两者组合构成的搜索条件。

2️⃣LIKE操作符

一般的,我们会通过操作符对数据进行筛选过滤或匹配,是针对已知值

不管是匹配一个还是多个值,测试大于还是小于已知值,或者检查某个范围的值,共同点是过滤中使用的值都是已知的。

但需要注意的是,有时我们会进行模糊匹配

类似在筛选商品时,我们会在搜索框里输入关键词‘华为’,这就能搜索商品中包含关键词的商品,这显然只能用通配符来实现,**利用通配符可创建比较特定数据的搜索模式。**比如上述例子中,我们可构造一个通配符搜索模式,找出商品名中任何位置出现‘华为’的商品。

下面就是通配符的介绍

🟥%通配符

介绍:

  • 百分号(%)通配符是最常使用的

  • like子句中,%表示任何字符出现任意次数。

🌱举例一:

  • 找出所有以 ‘海’ 起头的商品

image.png

  • 搜索模式-->'海%'
  • 含义-->检索任意以 '海' 开头的词。%告诉MySQL接受‘’之后的任意字符

🌱举例二:

  • 匹配任何位置包含文本'e'的值

image.png

  • 搜索模式-->'%e%'
  • 含义-->==检索任意包含 'e' 的文本。不论它之前或之后出现什么字符。==

🌱举例三:

  • 查询任意以i起头以o结尾的商品:

image.png

  • 搜索模式-->'i%o'
  • 含义-->检索任意以i起头以o结尾的所有商品。

🟨_通配符

  • 下划线_通配符和百分号%通配符很类似
  • 不同点在于,下划线通配符只能匹配单个字符
  • %能匹配0个字符不一样,_总是匹配一个字符

🌱举例:

  • 查询四个字的商品,并且以纸巾结尾

image.png

  • 搜索模式-->'__纸巾'
  • 含义-->检索以'纸巾'结尾的四字商品,开头为任意两个字。

3️⃣小结

通配符是一种极重要且有用的搜索工具。

但有些点我们应该了解:

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

文末备注:

本章参考书:《MySQL必知必会》


今天的笔记就做到这,欢迎各位小伙伴来评论区讨论哦!