返回顶部
首页 > 资讯 > 数据库 >关于MySQL中的 like操作符详情
  • 414
分享到

关于MySQL中的 like操作符详情

2024-04-02 19:04:59 414人浏览 独家记忆
摘要

1、简介 当对未知或者说知道某一部分的值进行过滤时,可以使用like操作符;like操作符用于模糊匹配。 like支持两个通配符,它们分别是: %通配符,用于匹配多个字

1、简介

当对未知或者说知道某一部分的值进行过滤时,可以使用like操作符;like操作符用于模糊匹配。

like支持两个通配符,它们分别是:

  • %通配符,用于匹配多个字符
  • _通配符,用于匹配单个字符

通配符根据其所处未知又分为六种匹配方式:

匹配方式 作用
%xx 表示右匹配,右边的xx字符需要完全相等,左边可以是任意字符,也可以没有字符
_xx 表示右匹配,右边的xx字符需要完全相等,左边可以是任意一个字符,必须是一个不能没有字符
xx% 表示左匹配,右边的xx字符需要完全相等,右边可以是任意字符,也可以没有字符
xx_ 表示左匹配,左边的xx字符需要完全相等,右边可以是任意一个字符,必须是一个不能没有字符
%xx% 表示中间匹配,中间必须完全相等,左右两边可以是任意字符,左右两边可以没有其他字符
xx 表示中间匹配,中间必须完全相等,左右两边可以是任意一个字符,左右两边必须是一个不能没有字符

2、正文

首先准备一张User表,DDL和表数据如下所示,可以直接复制使用。


SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
  `age` int(11) NOT NULL COMMENT '年龄',
  `sex` smallint(6) NOT NULL COMMENT '性别',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '李子捌', 18, 1);
INSERT INTO `user` VALUES (2, '张三', 22, 1);
INSERT INTO `user` VALUES (3, '李四', 38, 1);
INSERT INTO `user` VALUES (4, '王五', 25, 1);
INSERT INTO `user` VALUES (5, '六麻子', 13, 0);
INSERT INTO `user` VALUES (6, '田七', 37, 1);
INSERT INTO `user` VALUES (7, '谢礼', 18, 1);

SET FOREIGN_KEY_CHECKS = 1;
复制代码
数据的初始顺序如下所示:

Mysql> select * from user;
+----+--------+-----+-----+
| id | name   | age | sex |
+----+--------+-----+-----+
|  1 | 李子捌 |  18 |   1 |
|  2 | 张三   |  22 |   1 |
|  3 | 李四   |  38 |   1 |
|  4 | 王五   |  25 |   1 |
|  5 | 六麻子 |  13 |   0 |
|  6 | 田七   |  37 |   1 |
|  7 | 谢礼   |  18 |   1 |
+----+--------+-----+-----+
7 rows in set (0.00 sec)

2.1 %通配符

%通配符有三种匹配方式,分别是%xxxx% %xx% ,接下来演示三者的简单用法。

需求:

查询user表中姓氏为张的用户

语句:


mysql> select * from user where name like '张%';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  2 | 张三 |  22 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)


需求:

查询user表中姓名以七结尾的用户

语句:


mysql> select * from user where name like '%七';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  6 | 田七 |  37 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)

需求:

查询user表中姓名中包含李字符的用户

语句:


mysql> select * from user where name like '%李%';
+----+--------+-----+-----+
| id | name   | age | sex |
+----+--------+-----+-----+
|  1 | 李子捌 |  18 |   1 |
|  3 | 李四   |  38 |   1 |
+----+--------+-----+-----+
2 rows in set (0.00 sec)


2.2 _通配符

_通配符和%通配符的区别在于 _只匹配一个字符,并且必须匹配一个字符;而%可以匹配多个字符,甚至0个字符。

需求:

查询user表中姓氏为李,并且名字只有两个中文的用户

语句:


mysql> select * from user where name like '李_';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  3 | 李四 |  38 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)



需求:

查询user表中名为三的用户

语句:


mysql> select * from user where name like '_三';
+----+------+-----+-----+
| id | name | age | sex |
+----+------+-----+-----+
|  2 | 张三 |  22 |   1 |
+----+------+-----+-----+
1 row in set (0.00 sec)


需求:

查询user表中姓名为三个子,并且第二个子为麻的用户

语句:


mysql> select * from user where name like '_麻_';
+----+--------+-----+-----+
| id | name   | age | sex |
+----+--------+-----+-----+
|  5 | 六麻子 |  13 |   0 |
+----+--------+-----+-----+
1 row in set (0.00 sec)


2.3 通配符使用注意事项

通配符非常强大,我相信很多人都经常使用通配符,但是字符串匹配往往并不是一件性能特别快的事情。因此我们在使用通配符的时候有一些注意事项需要时刻记住。

  • 能不用则不用的原则,不用能避免通配符带来的全部问题,所以如果其他操作符能查询出来,就不要使用like
  • 在使用通配符的地方,尽量缩小查询范围,如果有多个查询条件,应该考虑能否将通配符放置到其他过滤条件的后面
  • 特别注意通配符的选择,以及通配符的位置,可以参考六种匹配方式选择自己合适的

到此这篇关于MySQLlike操作符详情的文章就介绍到这了,更多相关MySQL之like操作符内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: 关于MySQL中的 like操作符详情

本文链接: https://lsjlt.com/news/157392.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 关于MySQL中的 like操作符详情
    1、简介 当对未知或者说知道某一部分的值进行过滤时,可以使用like操作符;like操作符用于模糊匹配。 like支持两个通配符,它们分别是: %通配符,用于匹配多个字...
    99+
    2024-04-02
  • python中的mysql数据库LIKE操作符详解
    LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。 语法: SELECT column_name(s) FROM table_name WHERE column_name LI...
    99+
    2022-05-21
    python mysql like操作符 python like操作符
  • VB.NET中like操作符的作用是什么
    VB.NET中like操作符的作用是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。VB.NET操作符like用于判断一个字符串与另外一个字符串是否匹配,大小写敏感。语法...
    99+
    2023-06-17
  • Python 字符串操作详情
    目录1、字符串的定义2、转义字符串和原始字符串3、字符串的运算3.1 拼接运算符3.2 成员运算4、获取字符串长度5、索引和切片6、字符串的方法6.1 转换大小写6.2 查找操作6....
    99+
    2024-04-02
  • python关于Mysql操作
    一.安装mysqlwindows下,直接下载mysql安装文件,双击安装文件下一步进行操作即可,下载地址:http://dev.mysql.com/downloads/mysql/Linux下的安装也很简单,除了下载安装包进行安装外,一般的...
    99+
    2023-01-31
    操作 python Mysql
  • 关于Python中字符串的各种操作
    目录1、字符串拼接2、字符串截取(字符串切片)3、分割字符串4、合并字符串5、统计字符串出现的次数6、检测字符串是否包含某子串7、字符串对齐方法8、检索字符串是否以指定字符串开头(s...
    99+
    2024-04-02
  • nodejs中关于mysql数据库的操作
    目录基本概念为什么要有数据库什么是数据库数据库的分类数据库中基本术语数据库的可视化操作(创建数据库、创建表)数据类型(部分)数据库的常见命令数据库相关表相关插入数据修改数据删除数据查...
    99+
    2022-11-13
    nodejs数据库操作 mysql数据库操作 nodejs mysql数据库
  • SQL LIKE操作符的用法是什么
    SQL LIKE操作符用于在WHERE子句中进行模式匹配。它可以与通配符配合使用来查找指定模式的数据。常见的通配符有:- %...
    99+
    2023-10-10
    SQL
  • 关于比较操作符说明
    大于 >    $gt    greater   than  大于等于 >=  $gte  g...
    99+
    2024-04-02
  • Mysql中关于表的操作是怎样的
    Mysql中关于表的操作是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。创建数据库  createdatabase数据库...
    99+
    2024-04-02
  • 《关于MySQL的一些骚操作》
    ...
    99+
    2024-04-02
  • 关于Python中的if __name__ == __main__详情
    目录1.程序入口2.__name__是什么? 场景1:直接运行脚本 场景2:从其他脚本导入 3.__name__可以显示包路径 5.测试模块里函数 关于在学习Python的过程中,遇...
    99+
    2024-04-02
  • Go 使用xorm操作mysql详情
    目录xorm安装生成数据结构 struct使用 xormxorm 官方介绍:xorm 是一个简单而强大的 Go 语言 ORM 库。 通过它可以使数据库操作非常简便。 xorm 的目标...
    99+
    2024-04-02
  • 关于mysql的相关操作是怎样的
    这篇文章将为大家详细讲解有关关于mysql的相关操作是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、Mysql用户密码修改mysql密码修改有多种...
    99+
    2024-04-02
  • 【MySQL从入门到精通】:关于常用like子句中通配符的总结
    🔥系列专栏:【MySQL从入门到精通】---- 持续更新 目录 1️⃣前言2️⃣通配符🟥%通配符🟨_通配符 3️⃣小结 1️⃣...
    99+
    2023-08-31
    学习 后端 数据库 MySQL
  • python中关于文件的操作
    今天让我们来一起学习一下python中关于文件的操作吧:先看看以下如果打开文件:#open()打开文件的方法:r参数只能以读的方式打开文件,不能写=(,,=)data=.read()(data) ...
    99+
    2023-01-31
    操作 文件 python
  • java中有关于jar包操作的详细介绍
    为什么用jar包、什么是jar包.java文件编译好后生成.class文件,如果直接写在其他程序或提供给别人使用会很不方便,因此将一些.class文件打包成一个jar包,jar包中还可以包含一些资源文件(如txt文件、html文件、css文...
    99+
    2017-08-02
    java入门 java jar包
  • 关于C# 类的封装详情
    目录1、前言2、实例1、前言 法存取数据。除此之外,还可以控制数据的存取方式。在面向对象编程中,大多数都是以类作为数据封装的基本单位。类将数据和操作数据的方法结[成一个单位。设计类...
    99+
    2024-04-02
  • 关于Python字典(Dictionary)操作详解
    目录一、创建字典二、访问字典里的值三、修改字典四、删除字典元素五、字典键的特性六、字典内置函数&方法Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字...
    99+
    2023-05-15
    Python字典 Python Dictionary
  • MySQL中GBK字符集和UTF8字符编码的相关操作
    下面讲讲关于MySQL中GBK字符集和UTF8字符编码的相关操作,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL中GBK字符集和UTF8字符编码的相关操作这篇文章你一定...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作