文章目录

  • 8.1 LIKE操作符
    • 8.1.1 % 通配符
    • 8.1.2 _ 通配符
  • 8.2 使用通配符的技巧
  • 总结:

前文连接:
《MySQL必知必会》——书中表的生成
《MySQL必知必会》——第三章(了解数据库和表) 关键词:USE、SHOW
《MySQL必知必会》——第四章(检索数据) 关键词:SELECT
《MySQL必知必会》——第五章(排序检索数据) 关键词:ORDER BY
《MySQL必知必会》——第六章(过滤数据) 关键词:WHERE
《MySQL必知必会》——第七章(数据过滤) 关键词:WHERE、AND、OR、IN

前面介绍的过滤数据,都是已知具体数据进行过滤,但有时我们需要一些模糊过滤,例如选出某列中包含特定文本的行(如选取文本中包含like的行),这时我们就需要用通配符去做,具体看下面:

8.1 LIKE操作符

LIKE操作符是WHERE语句下的子句操作符,其和通配符一起使用来对数据进行模糊匹配。

8.1.1 % 通配符

% 通配符表示: 任意字符出现任意次数,即匹配任意字符串 ,我们具体看看就懂:

# jet% 会去匹配任意以jet开头的词!
SELECT prod_id, prod_name FROM products WHERE prod_name LIKE 'jet%'

通配符可以在任意位置使用,也可以使用多个通配符,我们举例看看:

# %anvil% 匹配任意位置出现anvil的词!
SELECT prod_id, prod_name FROM products WHERE prod_name LIKE '%anvil%'

# s%e 匹配以s开头,以e结尾的任意词
SELECT prod_id, prod_name FROM products WHERE prod_name LIKE 's%e';

注意:

  • %可以匹配0个、1个或任一个字符串
  • 但不匹配NULL,即当某行为NULL时,是匹配不上的

8.1.2 _ 通配符

_(下划线)通配符 作用和%通配符一样,仅仅是只能匹配一个字符,而%通配符可以匹配任意多个字符!举例看看:

# _ ton anvil 仅仅匹配下划线处只有一位字符,并且后面要一致的字符串!,如下图所示:
SELECT prod_id, prod_name FROM products WHERE prod_name LIKE '_ ton anvil';

注意:

  • % 可以匹配0、1、任意多个字符
  • _ 只能匹配一个字符,不能多也不能少

8.2 使用通配符的技巧

通过上面的举例,我们发现通配符是很有用的,但也是有代价的,因为通配符的搜索处理是通过遍历数据得到的,和前面过滤数据相比慢很多!

技巧:

  • 若其他操作也可以达到目的,尽量不要使用通配符
  • 在使用通配符时,尽量不要将其放在搜索模式的开头,这个位置是最慢的
  • 注意通配符放置的位置!

总结:

  • SELECT 列名 FROM 表名 WHERE 列名 LIKE ‘通配符’:匹配某字符的行

《MySQL必知必会》学习笔记——第八章(用通配符过滤)相关推荐

  1. 《MySQL必知必会》学习笔记十(增删改语句使用)------掌握部分

    MySQL必知必会知识预览 第一章--了解SQL 第二章--MySQL简介 第三章--使用MySQL 第四章--检索数据 第五章--排序检索数据 第六章--过滤数据 第七章--数据过滤 第八章--用通 ...

  2. MYSQL必知必会学习笔记(二)

    MYSQL必知必会四-五章--检索.排序 书中部分代码展示: ##第四第五章 SELECT prod_name FROM products; /*从products表中检索一个叫prod_name的列 ...

  3. mysql必知必会学习笔记(一)

    MYSQL必知必会第三章--了解数据库和表 书中部分代码展示: CREATE DATABASE crashcourse; /*创建名为 crashcourse 的新数据库*/SHOW DATABASE ...

  4. mysql必知必会_5天学完《MySQL必知必会》学习笔记之第四天

    本篇知识点 更新删除数据.创建操纵表.视图.存储过程 更新和删除数据 使用UPDATE语句更新(修改)表中的数据: 更新表中特定行(使用WHERE语句 更新表中所有行 UPDATE语句以要更新的表名开 ...

  5. 《MySQL必知必会学习笔记》:更新和删除数据

    更新和删除数据 上篇博文介绍了下插入数据的几种方式.这篇博文就来讲述下更新和删除数据. 更新数据 更新(修改)表中的数据,使用update语句. 更新数据一般采用如下两种方式: 更新表中特定行的数据. ...

  6. 5天学会mysql_5天学完《MySQL必知必会》学习笔记之第四天

    本篇知识点 更新删除数据.创建操纵表.视图.存储过程 更新和删除数据使用UPDATE语句更新(修改)表中的数据:更新表中特定行(使用WHERE语句 更新表中所有行 UPDATE语句以要更新的表名开始, ...

  7. MySQL必知必会 学习笔记

    mysql必知必会 了解mysql 什么是数据库 数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 表 表是一种结构化的文件,可用来存储某种特定类型的数据 主键 一列(或一组列),其值能够唯 ...

  8. mysql日期维表sql文件_《MySQL必知必会》笔记(SQL练习+建表语句)

    站在巨人的肩上 Standing On Shoulders Of Giants 部分转自:https://www.jianshu.com/p/294502893128 https://blog.csd ...

  9. 【SQL】【读书笔记】《MySQL必知必会》

    本文为<MySQL必知必会>[1]读书笔记,用于总结知识点和框架,仅供参考和交流,如有不妥请联系.由于软件版本更新,书中的一些代码已经不再适用,本文主要从SQL基本语句进行增删减.窗口函数 ...

  10. MySQL必知必会笔记(一)基础知识和基本操作

    第一章  了解MySQL     数据库       保存有组织的数据的容器.(通常是一个文件或一组文件) 人们经常使用数据库这个术语代替他们使用的软件.这是不正确的,确切的说,数据库软件应称为DBM ...

最新文章

  1. Android 最火的高速开发框架xUtils
  2. deepin v20.4设置全局搜索的快捷键
  3. GDCM:gdcm::Dumper的测试程序
  4. WebForm编辑器的相关资源
  5. struct作为map的key时,需要重载该结构体
  6. mysql安全性特点_MySQL数据库有哪些特点?为何能得到了广泛应用?
  7. Python 直接赋值、浅拷贝和深度拷贝全解析
  8. 【论文笔记】K-plet Recurrent Neural Networks for Sequential Recommendation
  9. java 广告插件_徒手创建一个chrome扩展-屏蔽广告插件
  10. word加载项打包发布注意事项总结
  11. python socket模块 和pyqt5_PyQt5+Socket实现CS架构的建议聊天室
  12. jquery富文本编译器_jQuery 移动端artEditor富文本编辑器
  13. 使用直播网站源码,搭建直播平台的最难点
  14. Windows自带md5校验工具使用说明
  15. Visual Studio 2005超级集成版本下载
  16. ubuntu下鼠标右键没有新建文档?
  17. Win10 制作Ubuntu U盘启动盘
  18. 计算机视觉检测 白皓月,基于深度神经网络的视线跟踪技术研究
  19. 三、E906移植----FPGA生成可用的比特流并实现串口发送
  20. python 小游戏500行以内_README.md

热门文章

  1. 数据治理的坑你遇到过几个?
  2. 阿里云何勉:如何定义团队的研发效能?
  3. 阿里云何云飞:如何利用云原生技术在AIoT领域成功落地 | 云栖大会
  4. 热聘:英特尔音频Firmware-Linux内核驱动
  5. 【物流选址】基于matlab佛洛依德算法求解物流选址问题【含Matlab源码 892期】
  6. ai疾病风险因素识别_克服AI的“蠕动因素”
  7. 语音匹配_什么是语音匹配?
  8. 蒙特卡洛方法习题_蒙特卡洛方法
  9. 直线的两点式、一般式以及点到直线的垂点
  10. kettle分布式部署_kettle服务器集群