Mysql常用sql语句(九)- like 模糊查询
测试必备的Mysql常用sql语句系列
https://www.cnblogs.com/poloyy/category/1683347.html
前言
- like应该是最常用的查询条件了
- 必须滴掌握!
like的语法格式
LIKE '字符串'
NOT LIKE '字符串'
- NOT:取反,不满足指定字符串时匹配
- 字符串:可以是精确的字符串,也可以是包含通配符的字符串
- LIKE支持 % 和 _ 两个通配符
确认测试表里有什么数据,方便后面的栗子做对比

% 通配符查询的栗子
- % 应该是最常用的通配符了,它代表任意长度的字符串,包括0
- 比如: a%b 表示以字母 a 开头,以字母 b 结尾的任意长度的字符串;该字符串可以代表 ab、acb、accb、accrb 等字符串
查询username字段包含test的记录
select * from yyTest where username like "%test%";

查询username字段开头不为test且department字段不等于seewo的记录
select * from yyTest where username not like "test%" and department = "seewo";

知识点
匹配的字符串必须加单引号或双引号 like "%test%"
_ 通配符查询的栗子
- _ 只能代表单个字符,字符的长度不能等于0,即字符长度必须等于1;相对于 % 来说, _ 肯定没这么常用
- 比如: a_b 可以代表 acb、adb、aub 等字符串
查询username字段test开头且后面只跟一个字符结尾的记录
select * from yyTest where username like "test_";

like 区分大小写的栗子
- 默认情况下,like匹配的字符串是不区分大小写的; like "test1" 和 like "TEST1" 匹配的结果是一样的
- 如果需要区分大小写,需要加入 binary 关键字
不会返回任何记录,test1和test2不会被匹配到
select * from yyTest where username like binary "TEST_";
使用转义符的栗子
- 如果查询的字符串包含%,可以使用 \ 转义符
- 实际场景:搜索功能,搜索框只输入%看是否返回所有记录,如果是的话证明没有做转义可以提个优化项哦!
转义符+通配符联合使用的栗子
select * from yyTest where username like "%\%"
使用通配符的注意点
- 注意大小写:不加binary关键字的话,大小写是不敏感的
- 注意头部、尾部多余的空格: " test% " 是不会匹配到“test1”的
- 注意NULL:通配符是不能匹配到字段为NULL的记录的
- 不要过度使用通配符:因为Mysql对通配符的处理速度会比其他操作花费更长的时间
- 在确定使用通配符后:除非绝对有必要,否则不要把它们用在字符串的开始处,把通配符置于搜索模式的开始处,搜索起来是最慢的。
Mysql常用sql语句(九)- like 模糊查询的更多相关文章
- MySQL常用sql语句-----数据表的查询操作
常用的sql语句如下,应对工作足以 1.查询指定字段 select c_id,c_age,c_name from t_student; select c_id as 编号,c_name as 姓名,c ...
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- mysql 常用 sql 语句 - 快速查询
Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互 1.1.1 mysql 连接 mysql.exe -hPup ...
- Mysql常用sql语句(21)- regexp 正则表达式查询
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 正则的强大不言而喻,Mysql中也提供了 reg ...
- Mysql常用sql语句(八)- where 条件查询
测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...
- Mysql常用sql语句(14)- 多表查询
测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...
- Mysql常用sql语句(19)- in / exists 子查询
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 子查询在我们查询方法中是比较常用的,通过子查询可 ...
- Mysql常用sql语句(20)- 子查询重点知识
测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 子查询语句可以嵌套在 sql 语句中任何表达式出现的位 ...
随机推荐
- Python-元组tuple、列表list、字典dict
1.元组tuple(1)元组是有序列表,有不可见的下标,下标从0开始(2)元组的数据是相对固定的,数据不能增删改,他的一个重要用途是保存固定的.安全要求高的数据(3)元组用小括号()括起来,空元组定义 ...
- vue项目中使用bpmn-节点篇
前情提要 根据之前的操作,我们可以创建.导入.导出流程图,并对其进预览.通过此篇可以学到: 为节点添加点击.鼠标悬浮等事件 获取流程图内所有指定类型的节点 通过外部更新节点名字 获取节点实例的两种方法 ...
- Cucumber(4)——jenkins的集成
目录 回顾 必备知识 集成方法 回顾 在上几节中,关于cucumber的知识我已经全部的介绍完了,但是近期,jenkins大行其道,在工作上面能为我们节省大量的时间. 所以在本节中,我会介绍cucum ...
- Flask接口开发过程中的心得2019.10.03
完善了一下慕课网实战中的post接口开发,得到了一些进步: 代码如下: #coding=utf-8 from flask import Flask from flask import request ...
- react: typescript integrate withRouter
define interface: export interface INav { nav: string } export interface IModuleItem { state?: strin ...
- 《HelloGitHub》第 49 期
兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程.对开源社区感兴趣 人群的月刊,月刊的内容包括:各种编 ...
- 使用 GoLand 启动 运行 Go 项目
来源:https://my.oschina.net/u/3744526/blog/3085468 在使用本博客经验之前 需配置好 GOPATH 跟 GOROOT 创建好本地工作路径之后,使用 GoLa ...
- CG-CTF(3)
CG-CTF https://cgctf.nuptsast.com/challenges#Web 续上~ 第十四题:GBK Injection 是一道注入题: 分析:题目提示了GBK,GBK是一种多字 ...
- PL/SQL 九九乘法表
和shell脚本九九乘法表一样,只是语法有少出入 先看看效果图先: 利用for循环: SET SERVEROUTPUT ON DECLARE x INT :=1; y INT :=1; BEGIN F ...
- ansible的role(6)
roles的优点 roles能够根据层次型结构自动的装载变化量文件,task,以及handles等. 要使用肉了是只需要在playbook中使用include引入即可. 主要使用场景复制代码较高的情况 ...