《MySQL必知必会》通配符 ( like , % , _ ,)

关键字 LIke

WHERE 搜索子句中使用通配符,必须使用 LIKE 操作符。

% 百分号通配符

% 表示任意字符出现任意次数。(这里的任意当然包括 0 、1、无数)

select prod_id,prod_name
from products
where prod_name like 'jet%';

注意: 通配符搜索是可以区分大小写的。

使用关键字 Binary 即可

select prod_id,prod_name
from products
where prod_name like binary '%S%';

select prod_id,prod_name
from products
where prod_name like binary '%s%';

show viriables like '%lower%';

查看是否区分大小写;

ower_case_table_names参数详解:

lower_case_table_names = 0

其中 0:区分大小写,1:不区分大小写

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:

   1、数据库名与表名是严格区分大小写的;

   2、表的别名是严格区分大小写的;

   3、列名与列的别名在所有的情况下均是忽略大小写的;

   4、变量名也是严格区分大小写的;

修改不区分大小写,在my.cnf中的[mysqld]后面添加lower_case_table_names=1,重启MYSQL服务

从上面例子也可以看到,是可以使用多个 ‘ % ’ 通配符进行搜索的。

注意,如果以上例子替换为 ‘%anvil ’ ,anvil 后跟一个空格,那将不会匹配到以上结果,为空格会干扰通配符匹配,这可以通过使用函数取出为空格。

like concat('%','anvil','%');

上一章说到 NULL ,同样 NULL 不能作为有效值被 % 匹配到,NULL 对于数据库来说是未知的,自然不能下定论 NULL 是否匹配。

_ 下划线通配符

_ 只匹配单个字符。

select prod_id,prod_name
from products
where prod_name like binary '_ ton anvil';

再次重申 , _ 总是匹配一个字符,不能多也不能少。

使用通配符的注意事项

正如所见,MySQL的通配符很有用。但这种功能是有代价的:通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长。这里给出一些使用通配符要记住的技巧。

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

不要过度使用通配符

不要过度使用通配符

不要过度使用通配符

以后的函数将搜索会做到更好的处理,更高的性能。

《MySQL必知必会》通配符 ( like , % , _ ,)的更多相关文章

  1. 《MySQL 必知必会》读书总结

    这是 <MySQL 必知必会> 的读书总结.也是自己整理的常用操作的参考手册. 使用 MySQL 连接到 MySQL shell>mysql -u root -p Enter pas ...

  2. 《MySQL必知必会》[01] 基本查询

    <MySQL必知必会>(点击查看详情) 1.写在前面的话 这本书是一本MySQL的经典入门书籍,小小的一本,也受到众多网友推荐.之前自己学习的时候是啃的清华大学出版社的计算机系列教材< ...

  3. mysql必知必会

    春节放假没事,找了本电子书mysql必知必会敲了下.用的工具是有道笔记的markdown文档类型. 下面是根据大纲已经敲完的章节,可复制到有道笔记的查看,更美观. # 第一章 了解SQL## 什么是S ...

  4. 《MySQL必知必会》整理

    目录 第1章 了解数据库 1.1 数据库基础 1.1.1 什么是数据库 1.1.2 表 1.1.3 列和数据类型 1.1.4 行 1.1.5 主键 1.2 什么是SQL 第2章 MySQL简介 2.1 ...

  5. mysql学习--mysql必知必会

      上图为数据库操作分类:     下面的操作參考(mysql必知必会) 创建数据库 运行脚本建表: mysql> create database mytest; Query OK, 1 row ...

  6. MySql必知必会实战练习(三)数据过滤

    在之前的博客MySql必知必会实战练习(一)表创建和数据添加中完成了各表的创建和数据添加,MySql必知必会实战练习(二)数据检索中介绍了所有的数据检索操作,下面对数据过滤操作进行总结. 1. whe ...

  7. MySQL必知必会1

    MySQL必知必会 ​ 了解SQL 什么是数据库:数据库(database)保存有阻止的数据的容器,可以把数据库想象成一个文件柜. 什么是表:表(table) 某种特定类型结构的结构化清单,数据库中的 ...

  8. MySQL必知必会(第4版)整理笔记

    参考书籍: BookName:<SQL必知必会(第4版)> BookName:<Mysql必知必会(第4版)> Author: Ben Forta 说明:本书学习笔记 1.了解 ...

  9. 《mysql 必知必会》 速查指南

    目录 增 添加一整行 插入多行 删 删除指定行 删除所有行 改 查 简单检索 结果筛选 结果排序 结果过滤 创建字段 处理函数 数据分组 其他高级用法 文章内容均出自 <MySQL 必知必会&g ...

随机推荐

  1. Dart中final和const关键字

    final和const 如果您从未打算更改一个变量,那么使用 final 或 const,不是var,也不是一个类型. 一个 final 变量只能被设置一次,两者区别在于:const 变量是一个编译时 ...

  2. python map() filter() reduce()函数的用法以及实例

    map() 看一下我的终端咋说: map()的函数用法: map(function, iterable, ...) 看一下具体例子: 注意的是一定要强制转化一下才能输出 也可以写匿名函数: (mark ...

  3. Python删除元组

    Python删除元组: 删除元组中的某一个元素: # 删除元组中的元素 tuple_1 = ('a','b','c','d','e') # 删除第 2 个元素 tuple_1 = tuple_1[:1 ...

  4. 6.28 NOI模拟赛 好题 状压dp 随机化

    算是一道比较新颖的题目 尽管好像是两年前的省选模拟赛题目.. 对于20%的分数 可以进行爆搜,对于另外20%的数据 因为k很小所以考虑上状压dp. 观察最后答案是一个连通块 从而可以发现这个连通块必然 ...

  5. lamp分离部署

    目录 lamp分离部署 1. 安装httpd 2. 安装mysql 3. 安装php 4. 配置apache并部署项目 4.1 启用代理模块 4.2 配置虚拟主机 4.3 部署PbootCMSPHP企 ...

  6. 使用pytorch快速搭建神经网络实现二分类任务(包含示例)

    使用pytorch快速搭建神经网络实现二分类任务(包含示例) Introduce 上一篇学习笔记介绍了不使用pytorch包装好的神经网络框架实现logistic回归模型,并且根据autograd实现 ...

  7. Docker技术入门与实战第2版-高清文字版

      Docker技术入门与实战第2版-高清文字版 下载地址https://pan.baidu.com/s/1bAoRQQlvBa-PXy5lgIlxUg 扫码下面二维码关注公众号回复100011 获取 ...

  8. OAuth2.0-3客户端授权放到数据库

    授权得客户端信息.授权码信息全都存在数据库 1.建表 官方给了个sql文件:https://github.com/spring-projects/spring-security-oauth/blob/ ...

  9. Jenkins=====》部署到构建完成

    目录 序言 正文 插件 系统管理 构建Maven项目 结尾 序言 ​ 大家好,我是龙宝,来自一个正在爬坑的java程序员,欢迎观看这一期的jenkins部署篇(V_V) 正文 ​ 这里我们直接上图看步 ...

  10. vue-cookies 使用

    import VueCookies from 'vue-cookies' Vue.use(VueCookies) $cookies.config() 设置默认值 $cookies.config(exp ...