首页 > 数据库 >MySQL like用法详解

MySQL like用法详解

时间:2024-09-03 16:24:29浏览次数:7  
标签:username BINARY LIKE 详解 大小写 MySQL WHERE like

MySQL LIKE 语法

LIKE运算符用于WHERE表达式中,以搜索匹配字段中的指定内容,语法如下:

WHERE column LIKE pattern

WHERE column NOT LIKE pattern

在LIKE全面加上NOT运算符时,表示与LIKE相反的意思,即选择column不包含pattern的数据记录

LIKE通常与通配符%一起使用,%表示通配pattern中出现的内容,而不加通配符%的LIKE语法,表示精确匹配,其实际效果等同于 = 等于运算符

LIKE使用示例

下面是一个使用LIKE查询的数据的例子:

MySQL like用法详解_大小写

 

SELECT * FROM user WHERE username LIKE '小%';

返回的查询结果:

MySQL like用法详解_MySQL_02

 

上面这个例子是找出所有username以"小"开头的记录

注意:小%表示以小开头,而后面可以是任意字符,同样,%小,表示以”小”结尾,而%小%则表示包含“小”这个字符(并一同包含"%小"和"小%"这两种情况)

MySQL LIKE 大小写

MySQL LIKE 匹配字符的时候,默认情况下是不区分大小写的,如果在需要区分大小写的时候,可以加入BINARY操作符:

SELECT * FROM username WHERE LIKE BINARY '%azz%'

SELECT * FROM username WHERE LIKE BINARY '%Azz%'

 

MySQL LIKE 中文匹配

由于数据存储编码问题,在某些情况下,MySQL进行LIKE搜索返回的数据除了符合要求的数据外,往往还会返回许多不相干的数据,这时候也需要在LIKE后面加上BINARY操作符进行二进制比较

SELECT * FROM username WHERE LIKE BINARY '%小%'

注意:

当LIKE匹配时加上BINARY操作符之后,则会严格区分英文大小写,因此检索的内容中如果出现中英文混合且需要忽略英文大小写的时候,就会遇见问题,这个时候可以引入MySQL中的UPPER()和COUNT()函数:

UPPER() :将英文字符转成大写,同UCASE()

CONCAT():将多个字符串连接成一个字符串

所以,当我们要进行中英文混合匹配检索且要忽略英文大小写时候,可以用下面的语句:

SELECT * FROM username WHERE UPPER(username) LIKE BINARY CONCAT('%',UPPER('a中文b'),'%');

LIKE 的效率

LIKE运算符要对字段数据进行逐一扫描匹配,实际执行的效率比较差

标签:username,BINARY,LIKE,详解,大小写,MySQL,WHERE,like
From: https://blog.51cto.com/u_12208527/11908902

相关文章

  • Windows下安装MySQL详细教程
    Windows下安装MySQL详细教程1、安装包下载  2、安装教程(1)配置环境变量(2)生成data文件(3)安装MySQL(4)启动服务(5)登录MySQL(6)查询用户密码(7)设置修改用户密码(8)退出 3、解决问题1、安装包下载。下载地......
  • MySQL修改密码
    第一种方式:最简单的方法就是借助第三方工具NavicatforMySQL来修改,方法如下:1、登录mysql到指定库,如:登录到test库。2、然后点击上方“用户”按钮。3、选择要更改的用户名,然后点击上方的“编辑用户”按钮。4、出现如图界面,输入新密码,并确认新密码,点击“保存”按钮即可。   第二种......
  • MySQL索引底层实现原理
    索引的本质MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。提取句子主干,就可以得到索引的本质:索引是数据结构。我们知道,数据库查询是数据库的最主要功能之一。我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基......
  • MySQL之mysqldump的使用详解
    一、mysqldump简介mysqldump 是 MySQL 自带的逻辑备份工具。它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert 语句,当我们需要还原这些数据时,只要执行这些 insert 语句,即可将对应的数据还原。二、备份命令2.1命令格......
  • mysql查询历史执行sql记录
    1、查看正在执行的sql--切换数据库useinformation_schema;--查看正在执行的SQL语句showprocesslist;--或者直接使用SQL语句查询select*frominformation_schema.`PROCESSLIST`whereinfoisnotnull;2、开启日志模式,记录所有SQL语句执行记录首先查看日志是否开启了......
  • Hive整合MySQL
     目录Hive整合MySQL 安装MySQL1)上传MySQL安装包以及MySQL驱动jar包2)解压MySQL安装包3)卸载系统自带的mariadb4)安装MySQL依赖5)安装mysql-client6)安装mysql-server7)启动MySQL8)查看MySQL密码配置MySQL1)用刚刚查到的密码进入MySQL(如果报错,给密码加单引号)2)设置复杂密......
  • Qt配置Mysql环境(Mingw版本)
    前言之所以写这篇文章,是由于本人被这个环境配置搞得心态搞炸了,网上的教程层出不穷,我也坚信很多还没有配置出来的小伙伴一定是照着有些教程一步一步来的,但就是死活不行,别人就行,自己的就不行。不说废话了,直接上教程。首先要确定你的Mysql和你的Mingw的位数是对的上的,要是32......
  • 20240903_162154 mysql 填空题 分组与聚合
    查询tb表所有数据,结果按age升序排select*fromtborderbyageasc查询tb表所有数据,结果按score降序排序select*fromtborderbyscoredesc查询tb表所有数据,结果按age升序排,如果age相同的数据,按score降序排select*fromtborderbyageasc,scoredesc查询sanguo表,......
  • 【AI视频】Runway注册、基本设置、主界面详解
    博客主页:[小ᶻZ࿆]本文专栏:AI视频|Runway文章目录......
  • Linux下MySQL5.7安装步骤
    1、更新软件包列表apt-getupdate2、查看系统默认安装的数据库版本apt-cachepolicymysql-server3、需要安装mysql5.7的版本就需要换源养成习惯,先备份文件:cp/etc/apt/sources.list/etc/apt/sources.list.back然后更换apt源:修改sources.list文件vim/etc/apt/sour......