• 技术文章 >数据库 >mysql教程

    mysql怎么查询包含指定字符串的数据

    青灯夜游青灯夜游2022-01-05 16:23:49原创157

    在mysql中,可以利用“SELECT”语句和LIKE关键字来查询包含指定字符串的数据,LIKE关键字主要用于搜索匹配字段中的指定内容,语法“SELECT 字段名 FROM 表名 WHERE 字段名 [NOT] LIKE '字符串';”。

    本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

    在mysql中,可以利用“SELECT”语句和LIKE关键字来查询包含指定字符串的数据。

    LIKE 关键字主要用于搜索匹配字段中的指定内容。其语法格式如下:

    [NOT] LIKE  '字符串'

    其中:

    LIKE 关键字支持百分号“%”和下划线“_”通配符。

    通配符是一种特殊语句,主要用来模糊查询。当不知道真正字符或者懒得输入完整名称时,可以使用通配符来代替一个或多个真正的字符。

    “SELECT”语句+LIKE关键字的使用实例

    带有“%”通配符的查询

    “%”是 MySQL 中最常用的通配符,它能代表任何长度的字符串,字符串的长度可以为 0。例如,a%b表示以字母 a 开头,以字母 b 结尾的任意长度的字符串。该字符串可以代表 ab、acb、accb、accrb 等字符串。

    例 1

    在 tb_students_info 表中,查找所有以字母“T”开头的学生姓名,SQL 语句和运行结果如下。

    mysql> SELECT name FROM tb_students_info
        -> WHERE name LIKE 'T%';
    +--------+
    | name   |
    +--------+
    | Thomas |
    | Tom    |
    +--------+
    2 rows in set (0.12 sec)

    可以看到,查询结果中只返回了以字母“T”开头的学生姓名。

    注意:匹配的字符串必须加单引号或双引号。

    NOT LIKE 表示字符串不匹配时满足条件。

    例 2

    在 tb_students_info 表中,查找所有不以字母“T”开头的学生姓名,SQL 语句和运行结果如下。

    mysql> SELECT NAME FROM tb_students_info
        -> WHERE NAME NOT LIKE 'T%';
    +-------+
    | NAME  |
    +-------+
    | Dany  |
    | Green |
    | Henry |
    | Jane  |
    | Jim   |
    | John  |
    | Lily  |
    | Susan |
    +-------+
    8 rows in set (0.00 sec)

    可以看到,查询结果中返回了不以字母“T”开头的学生姓名。

    例 3

    在 tb_students_info 表中,查找所有包含字母“e”的学生姓名,SQL 语句和运行结果如下。

    mysql> SELECT name FROM tb_students_info
        -> WHERE name LIKE '%e%';
    +-------+
    | name  |
    +-------+
    | Green |
    | Henry |
    | Jane  |
    +-------+
    3 rows in set (0.00 sec)

    可以看到,查询结果中返回了所有包含字母“e”的学生姓名。

    带有“_”通配符的查询

    “_”只能代表单个字符,字符的长度不能为 0。例如,a_b可以代表 acb、adb、aub 等字符串。

    例 4

    在 tb_students_info 表中,查找所有以字母“y”结尾,且“y”前面只有 4 个字母的学生姓名,SQL 语句和运行结果如下。

    mysql> SELECT name FROM tb_students_info
        -> WHERE name LIKE '____y';
    +-------+
    | name  |
    +-------+
    | Henry |
    +-------+
    1 row in set (0.00 sec)

    LIKE 区分大小写

    默认情况下,LIKE 关键字匹配字符的时候是不区分大小写的。如果需要区分大小写,可以加入 BINARY 关键字。

    例 5

    在 tb_students_info 表中,查找所有以字母“t”开头的学生姓名,区分大小写和不区分大小写的 SQL 语句和运行结果如下。

    mysql> SELECT name FROM tb_students_info WHERE name LIKE 't%';
    +--------+
    | name   |
    +--------+
    | Thomas |
    | Tom    |
    +--------+
    2 rows in set (0.00 sec)
    mysql> SELECT name FROM tb_students_info WHERE name LIKE BINARY 't%';
    Empty set (0.01 sec)

    由结果可以看到,区分大小写后,“Tom”和“Thomas”等记录就不会被匹配到了。

    【相关推荐:mysql视频教程

    以上就是mysql怎么查询包含指定字符串的数据的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:mysql主从不同步的原因有哪些 下一篇:如何查看mysql安装位置

    相关文章推荐

    • 如何解决mysql 错误1005问题• MySql优化之体系结构及存储引擎(总结分享)• 详细解析MySQL 8.x中新增了三种索引方式(总结分享)• mysql怎么去掉重复的数据

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网