1.前言

最近遇到MySQL模糊查询的问题,发现MySQL也支持正则表达式。其中,like语句是完全匹配,regexp是部分匹配。

2.完全匹配like

2.1 like模糊查询

like支持的正则包括%和_。其中%代表任意个字符,_代表任意一个字符。

2.2 常用方式

_和%的使用
select * from user where name like '张_林';代表查询user表中name为张X林的用户信息
select * from user where name like '%三%';代表查询user表中name含有”三”的用户信息

2.3.escape自定义转义符

如果我就真的要查%或者,怎么办呢?使用escape自定义转义符,escape后面就是转义符,转义字符后面的%或就不作为通配符了,注意前面没有转义字符的%和_仍然起通配符作用
Sql代码
select username from gg_user where username like '%xiao/_%' escape '/'; 查找含有xiao_的名字
select username from gg_user where username like '%xiao/%%' escape '/'; 查找含有xiao%的名字

3.部分匹配regexp

3.1 基本使用

  • 查找以两个数字开头的ptitle字段
    SELECT * FROM xm_passport.tb_user_verification where ptitle regexp '^[[:digit:]]{2}'

    此处的正则表达式和egrep的大部分类似。

  • 开头和结尾 ^与$
  • 单个字符 [a-z] [^a-z] .(任意单个字符)
  • 重复之前的字符或字符串次数 * 任意次,? 0次或1次,{m,n}至少m次,至多n次
  • 字符与字符集
    [:digit:] 数字 [:alpha:] 字母 [:space:] 空格 [:punct:] 标点符号

3.2 regexp的完全匹配

  • 查找由3个数字组成的ptitle字段
    SELECT * FROM xm_passport.tb_user_verification where ptitle regexp '^[[:digit:]]{3}$'

Mysql查询语句正则匹配相关推荐

  1. 一条mysql查询语句的执行过程

    当我们执行一条MySQL查询语句时,对于客户端而言是一个很简单的过程,但对于服务端来说其内部却会涉及到一些复杂的组件和处理逻辑.了解MySQL语句的内部执行原理,有助于我们更好地去处理一些复杂的SQL ...

  2. 网上搜集的MySQL查询语句大全集锦(经典珍藏)

    原文地址为: 网上搜集的MySQL查询语句大全集锦(经典珍藏) SQL查询语句大全集锦 MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW ...

  3. mysql 查询语句执行顺序_MySQL 查询语句执行过程

    MySQL 查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  4. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

  5. mysql 查询语句_MySQL相关(一)- 一条查询语句是如何执行的

    前言 学习一个新知识最好的方式就是上官网,所以我先把官网贴出来 MySQL官网 (点击查阅),如果大家有想了解我没有说到的东西可以直接上官网看哈~目前 MySQL 最新大版本为8.0,但是鉴于目前应用 ...

  6. mysql查询语句详解_基于mysql查询语句的使用详解

    1> 查询数据表除了前三条以外的数据. 起初我想到的是这条语句 SELECT * FROM admin WHERE userid NOT IN (SELECT userid FROM admin ...

  7. php通过数组存取mysql查询语句的返回值

    php通过数组存取mysql查询语句的返回值 1.示例1 $res = mysql_query($mysqli, $sql) or die(mysql_error($mysql)); $a=array ...

  8. java mysql查询语句_Mysql查询语句执行过程

    Mysql查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  9. MySQL查询语句执行过程及性能优化-基本概念和EXPLAIN语句简介

    网站或服务的性能关键点很大程度在于数据库的设计(假设你选择了合适的语言开发框架)以及如何查询数据上. 我们知道MySQL的性能优化方法,一般有建立索引.规避复杂联合查询.设置冗余字段.建立中间表.查询 ...

最新文章

  1. 4.65FTP服务4.66测试登录FTP
  2. iOS:NSBundle的具体介绍
  3. BZOJ.1109.[POI2007]堆积木Klo(DP LIS)
  4. scrapy提取数据
  5. 小白学python买什么书-0基础小白学python有没有什么书可以推荐的?
  6. linux删除旧网卡,如何删除旧网卡驱动
  7. 2012秋江苏省计算机二级上机试题,江苏省高校计算机等级考试二级2012秋资料.doc...
  8. 现在好用的mysql客户端_还在用 Navicat 的,可以试试这几款免费且好用的 MySQL 客户端...
  9. 一个html有几个css,几个CSS的黑科技_html/css_WEB-ITnose
  10. Android 上滑背景变淡,在Android中,如何平滑地将背景从一种颜色淡化到另一种颜色? (如何使用线程)...
  11. 多个域名要选择合适的SSL证书
  12. 基于QGIS初探PostgreSQL的PostGIS插件,包括YUM和编译安装PostGIS
  13. python 单例模式
  14. 为什么 React Native 连遭 Airbnb、Udacity 抛弃?
  15. Jquery基础笔记
  16. JS 幻灯片代码(含自动播放)
  17. Android修炼之道—自定义控件 (300喵喵币)
  18. zigbee网络各层的主要功能
  19. 百度echart世界各国及国内省市经纬度坐标
  20. 基于两输出一输入BP神经网络的传感器检测数据融合(附带MATLAB代码)

热门文章

  1. 西瓜书知识总结(第三章)
  2. 科技生活,舒适优雅,21款奔驰GLE350e改ACC、电吸门、通风座椅
  3. ansys学习杆单元
  4. RoadFlow开源工作流源码-项目架构分析
  5. roadflow作为工作流引擎服务中心webapi说明
  6. 01-AI算法开发的全流程
  7. 【畅言】不把C作为第一门语言是个好主意么?
  8. 达梦数据库数据迁移工具的使用
  9. html实现平面地图效果,基于Jquery和html5的7款个性化地图插件
  10. joomlaQQ登录,微信登录