mysql模糊查询like与REGEXP的使用详细介绍

 更新时间:2016年12月31日 10:59:54   作者:古德God  
每位程序员们应该都知道,增删改查是mysql最基本的功能,而其中查是最频繁的操作,模糊查找是查询中非常常见的操作,于是模糊查找成了必修课。下面这篇文章就给大家详细介绍了mysql模糊查询like与REGEXP的使用,有需要的朋友们可以参考学习。

前言

在mysql中实现模糊查询的有like和regexp。本文通过实例代码给大家详细介绍这两者的使用方法,下面来跟着小编一起学习学习吧。

like模式

like意思是长得像,有两个模式:_和%

_表示单个字符,通常用来查询定长的数据,如查出所有姓王的三个字的人名,假设姓名列名为name,注意“王”后面有两个_

select name from 表名 where name like '王__';

%表示0个或多个任意字符,如查出所有姓王的人名

select name from 表名 where name like '王%';

查出所有包含“华”字的人名

select name from 表名 where name like '%华%';

正则模式

^,匹配字符串开始位置,还是上面的例子,查询所有姓王的人名

select name from 表名 where name regexp '^王';

$,匹配字符串结束位置,如查询所有姓名末尾是“明”的人名

select name from 表名 where name regexp '明$';

.,匹配除\n之外的任意单个字符,类似于_,就不写sql语句了

[……],匹配[]中包含的任何一个字符,abcdef……xyz可以简写为[a-z],0123456789简写成[0-9],如查询出w/z/s开头的的人名

select name from 表名 where name regexp '^[wzs]';

[^……],匹配不包含在[]的字符,如查询出除了w/z/s开头之外的人名

select name from 表名 where name regexp '^[^wzs]';

a|b|c,匹配a或b或c,如将绩效为A-或A或A+的员工查出来,假设绩效列名performance

select performance from 表名 where performance regexp 'A-|A|A+';

*,重复0次或多次,熟悉javascript正则的同学都知道

     'str*'可以匹配st/str/strr/strrr……

     ?,重复0次或1次

     'str?'可以匹配st/str

     +,重复1次或多次

     'str+'可以匹配str/strr/strrr/strrrr……

相比javascript里面的正则而言,这里的正则是简化版的,没有惰性匹配/贪婪匹配,[]内不支持\w\s\d这种语法,也不支持中文,相对简单。

需要注意的一点是:这两种模式不要混着用,like模式是不支持正则表达式的,REGEXP模式也不认识_和%

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • MySQL 如何分析查询性能

    MySQL 如何分析查询性能

    这篇文章主要介绍了MySQL 如何分析查询性能,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-05-05
  • MySQL的表空间是什么

    MySQL的表空间是什么

    这篇文章主要介绍了MySQL的表空间是什么,帮助大家更好的理解和使用MySQL表的相关知识,感兴趣的朋友可以了解下
    2020-11-11
  • 分析一个MySQL的异常查询的案例

    分析一个MySQL的异常查询的案例

    这篇文章主要介绍了分析一个MySQL的异常查询的案例,主要是针对索引方面的操作问题,需要的朋友可以参考下
    2015-05-05
  • 在 CentOS 7 下如何使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装

    在 CentOS 7 下如何使用 Ansible Playbook 实现 MySQL 8.0.34 的

    要在 CentOS 7 下使用 Ansible Playbook 实现 MySQL 8.0.34 的二进制安装,需要先下载 MySQL 8.0.34 的二进制包,并将其上传至目标服务器,对MySQL 8.0.34 二进制安装过程感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • mysql求和函数使用示例

    mysql求和函数使用示例

    求和函数在某些有计算的情况下会使用到,在本将为大家介绍下mysql中时如何实现求和的,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-09-09
  • mysql 计算函数详情

    mysql 计算函数详情

    这篇文章主要介绍了mysql 计算函数,函数没有SQL的可移植性强 能运行在多个系统上的代码称为可移植的(portable)。相对来说,多数SQL语句是可移植的,在SQL实现之间有差异时,这些差异通常不那么难处理,下面来看看文章的具体内容吧
    2021-10-10
  • mysql 详解隔离级别操作过程(cmd)

    mysql 详解隔离级别操作过程(cmd)

    这篇文章主要介绍了mysql 详解隔离级别操作过程(cmd)的相关资料,需要的朋友可以参考下
    2017-01-01
  • mysql安装配置详解教程(一)

    mysql安装配置详解教程(一)

    这篇文章主要为大家详细介绍了mysql安装配置教程,以图文结合的方式为大家分享了mysql安装步骤,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • MySQL免安装版(zip)安装配置详细教程

    MySQL免安装版(zip)安装配置详细教程

    这篇文章主要为大家详细介绍了MySQL免安装版(zip)安装配置详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Ubuntu自启动Mysql的三种方式

    Ubuntu自启动Mysql的三种方式

    本文给大家介绍ubuntu自启动mysql的三种方式,一种方法通过执行命令,也是最简单的方法,第二种方法是使用sysv-rc-cont工具,第三种方法是使用chkconfig工具,关于以上三种方式的详解请看下文
    2015-10-10

最新评论