测试必备的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 模糊查询的更多相关文章

  1. MySQL常用sql语句-----数据表的查询操作

    常用的sql语句如下,应对工作足以 1.查询指定字段 select c_id,c_age,c_name from t_student; select c_id as 编号,c_name as 姓名,c ...

  2. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  3. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  4. mysql 常用 sql 语句 - 快速查询

    Mysql 常用 sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互         1.1.1 mysql 连接             mysql.exe -hPup    ...

  5. Mysql常用sql语句(21)- regexp 正则表达式查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 正则的强大不言而喻,Mysql中也提供了 reg ...

  6. Mysql常用sql语句(八)- where 条件查询

    测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...

  7. Mysql常用sql语句(14)- 多表查询

    测试必备的Mysql常用sql语句,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1683347.html 前言 ...

  8. Mysql常用sql语句(19)- in / exists 子查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 子查询在我们查询方法中是比较常用的,通过子查询可 ...

  9. Mysql常用sql语句(20)- 子查询重点知识

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 子查询语句可以嵌套在 sql 语句中任何表达式出现的位 ...

随机推荐

  1. MDC是什么鬼?用法、源码一锅端

    近期用到阿里的一款开源的数据同步工具 Canal,不经意之中看到了 MDC 的用法,而且平时项目中也多次用到 MDC,趁机科普一把. 通过今天的分享,能让你轻松 get 如下几点,绝对收获满满. a) ...

  2. Matlab学习-(1)

    1. 认识Matlab (1)MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simul ...

  3. Java8新特性(1):Lambda表达式

    Lambda表达式可以理解为一种匿名函数:没有名称,但有参数列表.函数主体.返回类型.它是行为参数化的一种实现,行为参数化是指将不同的行为作为参数传递给方法,方法的所具备的能力取决于它接收的行为参数. ...

  4. 从一次“并发修改字段业务”引出多版本并发控制与InnoDB锁

    并发字段修改业务 最近在主要在做"工作流引擎"课题的预研工作,在涉及到"会签任务"(工作流业务概念,这与我们今天讨论文问题没有太多关联)的时候,遇到了一个并发修 ...

  5. 异常处理的方式二:throws+异常类型

    package com.yhqtv.demo01Exception; import java.io.File; import java.io.FileInputStream; import java. ...

  6. Pycharm 操作数据库

    view--->Tool Buttons,点击Pycharm右侧的Database 1.连接数据库       2.建立一个表,添加数据   通过以上操作把用户名和密码储存到了数据库中  3.连 ...

  7. MySQL之唯一索引、外键的变种、SQL语句数据行操作补充

    0.唯一索引 unique对num进行唯一限制,表示num是独一无二的,uql是唯一索引名称 上面为联合索引:num和xx不能完全一样  1.外键的变种 a. 用户表和部门表 用户: 1 alex 1 ...

  8. CentOS下宝塔如何部署Django项目?

    基础环境 装好宝塔服务 宝塔里装好[Python项目管理器] 宝塔里装好[Nginx] 把Django项目代码发到服务器 把代码放到服务器上有两种方法: 方法一:服务器上安装Git,通过Git Clo ...

  9. beego微信网页授权

    beego.Get("MP_verify_Rj3QAbcdU0MRsyS.txt", func(context *context.Context) { context.Respon ...

  10. Task Scheduler Error Message: 80041318

    Using the error lookup tool that comes with VC++ (errlook.exe, or "Error Lookup" on the To ...