MySQL数据表中带LIKE的字符匹配查询

LIKE关键字可以匹配字符串是否相等。

如果字段的值与指定的字符串相匹配,则符合查询条件,该记录将被查询出来。

如果与指定的字符串不匹配,则不符合查询条件。

基本的语法格式如下:

[NOT] LIKE '字符串'

NOT:可选。加上NOT表示与指定的字符串不匹配时满足条件。

字符串:指定用于匹配的字符串,该字符串必须加单引号或者双引号。

“字符串”参数的值可以是一个完整的字符串,也可以是包含百分号(%)或者下划线(_)的通配符。

注意%和_的区别:

“%”表示任意长度的字符串,长度可以为0。例如,g%gle表示以字母g开头,以字母gle结尾的任意长度的字符串。g%gle可以表示ggle、gogle、gfgle、google、gusgle、gooooogle等。

“_”只能表示单个字符。例如,g_gle表示以字母g开头,以字母gle结尾的5个字符。中间的“_”可以表示任意一个字符。g_gle可以表示gagle、gbgle、gcgle、gdgle或gogle等。

实例1

使用LIKE关键字匹配一个完整的字符串'Tom'。SELECT语句的代码如下:

SELECT * FROM employee WHERE name LIKE 'Tom';

在DOS提示符窗口中查看使用LIKE关键字匹配一个完整的字符串'Tom'的操作效果。如下图所示:

上图中代码执行的结果显示,name字段中取值为Tom的记录被查询了出来。其它不符合条件的记录都被过滤掉了。

在这里,LIKE与等于号(=)是等价的。如果修改为“=”,查询结果是一样的。如下图所示:

但是,上面的情况只对匹配一个完整的字符串有效,如果字符串中包含了通配符,就不能这样进行替换了。

实例2

使用LIKE关键字匹配带有通配符“%”的字符串'河南%'。SELECT语句的代码如下:

SELECT * FROM employee WHERE homeaddress LIKE '河南%';

在DOS提示符窗口中查看使用LIKE关键字匹配带有通配符“%”的字符串'河南%'的操作效果。如下图所示:

上图中代码执行的结果显示,homeaddress字段以“河南”开头的记录都被查询出来了。

如果使用“=”替换LIKE时,则查询结果为空记录。如下图所示:

上图中代码执行的结果显示,没有查询出任何记录。这说明字符串中包含了通配符时,“=”就不能代替LIKE了。

实例3

使用LIKE关键字匹配带有通配符“_”的字符串'T_m'。SELECT语句的代码如下:

SELECT * FROM employee WHERE name LIKE 'T_m';

在DOS提示符窗口中查看使用LIKE关键字匹配带有通配符“_”的字符串'T_m'的操作效果。如下图所示:

上图中代码执行的结果显示,name字段中取值为Tom的记录被查询出来了。

“_”只能代表一个字符。如果字符串为“T_”,将不能查询出结果。如下图所示:

上图中代码执行的结果显示,没有查询出任何记录。因为name字段中不存在以“T”开头,长度为2的记录。

提示

需要匹配的字符串需要加引号,可以是单引号,也可以是双引号。在MySQL 5.6.19版本中,使用一个“_”符号也可以代表一个汉字。如下图所示:

如果使用一个“_”符号代表一个汉字时,不能正确查询出记录,则可以使用两个“_” 符号来代表一个汉字,再查询一下试试。毕竟,一般情况下,一个汉字是两个字符,它需要两个“_”符号来代表一个汉字。

使用LIKE关键字匹配带有通配符“_”的字符串'_雪_'。SELECT语句的代码如下:

SELECT * FROM employee WHERE name LIKE '_雪_';

在DOS提示符窗口中查看使用LIKE关键字匹配带有通配符“_”的字符串'_雪_'的操作效果。如下图所示:

上图中代码执行的结果显示,name字段中,中间一个汉字为“雪”的三个汉字的名字被查询了出来。

NOT LIKE表示字符串不匹配的情况下符合条件。

实例4

使用NOT LIKE关键字查询不是姓刘的所有人的记录。SELECT语句的代码如下:

SELECT * FROM employee WHERE name NOT LIKE "刘%";

在DOS提示符窗口中查看使用NOT LIKE关键字查询不是姓刘的所有人的记录的操作效果。如下图所示:

上图中代码执行的结果显示,name字段中取值为“刘兵”的记录被排除出去了。

实例5

使用LIKE关键字匹配带有通配符“%”的字符串'%军'。SELECT语句的代码如下:

SELECT * FROM employee WHERE name LIKE '%军';

在DOS提示符窗口中查看使用LIKE关键字匹配带有通配符“%”的字符串'%军'的操作效果。如下图所示:

上图中代码执行的结果显示,name字段中最后一个字为“军”的所有人的记录被查询了出来。

实例6

使用LIKE关键字匹配带有通配符“%”的字符串'%雪%'。SELECT语句的代码如下:

SELECT * FROM employee WHERE name LIKE '%雪%';

在DOS提示符窗口中查看使用LIKE关键字匹配带有通配符“%”的字符串'%雪%'的操作效果。如下图所示:

上图中代码执行的结果显示,name字段中,中间任意位置为“雪”的人的名字的记录都被查询了出来。

提示

使用LIKE和NOT LIKE关键字可以很好匹配字符串。而且,可以使用“%”和“_”等通配符来简化查询。

mysql like带字符串_(转)MySQL数据表中带LIKE的字符匹配查询相关推荐

  1. mysql 比较一个字符串_比较MySQL中的两个字符串?

    为了比较两个数字字符串,让我们首先创建一个表.以下是查询-mysql> create table compareTwoStringsDemo -> ( -> Id int NOT N ...

  2. mysql 十六进制 转换为字符串_在MySQL中将十六进制字符串转换为数字?

    使用该CONV()方法将十六进制字符串转换为数字-select CONV(yourColumnName,16,10) AS anyAliasName from yourTableName; 让我们首先 ...

  3. mysql中清空数据表中的数据,不删除数据表

    1.清空不带外键约束的数据表中的数据 使用delete语句清空`t_test`表中的数据 delete from `t_test`; 使用truncate语句清空`t_test`表中的数据 trunc ...

  4. mysql为什么行数据库_关系数据表中的行称为什么?

    在一个二维表中,水平方向的行称为元组,每一行是一个元组:元组对应表中的一个具体记录. 数据元组也称为记录.一个数据表中的每一个记录均有一个惟一的编号(记录号).一个记录也就是数据表中的一行. 元组(t ...

  5. mysql视图中数据如何修改_怎么修改Mysql数据表中的视图

    本篇文章主要给大家介绍mysql数据表中怎么进行修改视图的操作. 关于mysql视图的基础知识,在之前的文章中也给大家详细介绍过了.这里我们再给大家先简单介绍下mysql视图. 通俗的说,视图是由SE ...

  6. mysql中怎么查表中的数据_[MySQL] 用select查询数据表中的记录

    用select查询数据表中的记录 select 语句的基本语法如下: select selection_list 选择那些列 from table_list 从那个表去选择行 where primar ...

  7. 怎么导出mysql数据库注释_数据库基础:如何查看并导出数据表中字段的注释信息...

    查看并导出SQL Server 2000数据表中字段的注释信息: 此示例为导出某个表注释的语句:(表名是bbs_bank_log) SELECT sysobjects.name AS 表名, sysc ...

  8. mysql删除表中的一列数据_在数据表中添加或删除一列

    注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容. 本页面是自动翻译的,可能包含语法错误或不准确之处. 我们的目的是使此内容能对你有所帮助. 可以在本页面底部告诉我们此信息是否对你有帮助吗? ...

  9. mysql 中有什么命令_常用mysql命令大全

    常用的MySQL命令大全 连接MySQL格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL. 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命 ...

最新文章

  1. electron 打包把node代理服务打包进去_用 Node.js 官方镜像打包一个 express 服务
  2. UVa 10420 List of Conquests
  3. solr源码分析之solrclound
  4. Win XP系统的开机菜单具体含义
  5. Jenkins的关闭、重启
  6. 2019五个最棒的机器学习课程
  7. Python库大全涵盖了Python应用的方方面面建议收藏留用!
  8. Spark案例:Scala版统计单词个数
  9. springboot监听器_Spring Boot中文参考指南(2.1.6)23.5、应用程序事件和监听器
  10. vue中的VNode
  11. 13. 查看网络端口、配置网络
  12. 什么叫pin脚的pad_普思海鸥脚H1102NL百兆网络变压器
  13. 计算机导论考试考什么,计算机导论考试
  14. BM3D、域变换与Non-Local
  15. 太阳直射点纬度计算公式_干货 | 正午太阳高度公式及其应用!
  16. 短语匹配-match_phrase以及slop参数
  17. 实用且堪称神器的 Chrome 插件推荐(值得收藏)
  18. 简单的科普(引导模式、分区格式)
  19. ERROR: Failed to open zip file. Gradle‘s dependency cache may be corrupt (this sometimes occurs afte
  20. M1芯片真正原生版本photoshop 2021安装 PS2021 Mac版 附详细教程!再无需rosetta转译!!

热门文章

  1. 初级安卓码农入职第一天
  2. 车联网之 carLife车机端集成即开发
  3. 如何查看自己安装的MySQL版本?
  4. 用10行Python代码画了一张惊艳的山峦图
  5. “玩伴女郎”误入学术圈--lena图象的使用数字图像历史上最重要的事件之一
  6. DES加密和解密工具(亲测可用)
  7. Linux RCU机制+内存屏障
  8. 新库上线 | CnOpenData舆情云数据
  9. php特有的调味植物,花椒—从贵族专享到为百姓调味?
  10. 萌宠大作战服务器维护,庆典活动—萌宠大作战