首页 > 数据库 >MySQL正则表达式:REGEXP 和 LIKE

MySQL正则表达式:REGEXP 和 LIKE

时间:2023-04-14 14:37:10浏览次数:55  
标签:返回 匹配 LIKE MySQL REGEXP 列值

正则表达式作用:

根据指定的匹配模式匹配文中符合要求的特殊字符。

REGEXP :

①操作符中常用的匹配列表:

匹配特殊字符使用\\进行转义

  • \\.   能够匹配 .
  • \\f   换页
  • \\n 换行
  • \\r 回车
  • \\t 制表
  • \\  纵向制表

 ③进行or匹配:搜索两个串之一(或者为这个串,或者为另一个串),使用 |。

LIKE有两个模式:

%:代表0个或多个任意字符;

_:表示单个字符;

REGEXP 和 LIKE 的区别:

LIKE匹配整个列。若是被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(使用通配符除外)。

REGEXP在列值内进行匹配,若是被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。

例如:

products表:

 LIKE:

 REGEXP:

执行上述两条语句,会发现第一条语句不返回数据,而第二条语句返回一行。为什么?

LIKE匹配整个列。如果被匹配的文本在列值中出现,LIKE将不会找到它,相应的行也不被返回(除非使用通配符)。而REGEXP在列值内进行匹配,如果被匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回。

《MySQL必知必会》:

为了匹配特殊字符,必须用\\为前导。\\-表示查找 -,\\. 表示查找 .

 力扣练习题:

1.力扣1517.查找拥有有效邮箱的用户(简单)

2.力扣1527.患某种疾病的患者(简单)

其他待完善...

标签:返回,匹配,LIKE,MySQL,REGEXP,列值
From: https://www.cnblogs.com/liu-myu/p/17317565.html

相关文章

  • 【MySQL】主从复制实现原理详解
      目录一、概要1.1mysql复制的优点1.2Mysql复制解决的问题二、MySQL主从复制的概念三、MySQL主从复制的主要用途3.1读写分离3.2数据实时备份,当系统中某个节点发生故障时,可以方便的故障切换(主从切换)3.3高可用(HA)3.4架构扩展四、MySQL主从形式一主一从......
  • MySQL数据库常用概念和数据类型
    前言本系列文章会带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深,全面讲解数据库体系,非常适合零基础的小伙伴来学习。全文大约【1466】字,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配......
  • MySQL夺命20问
    先看下目录:1说说MySQL的基础架构图2一条SQL查询语句在MySQL中如何执行的?3日常工作中你是怎么优化SQL的?4怎么看执行计划(explain),如何理解其中各个字段的含义?5关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?6聚集索引与非聚集索引的区别7为什么要......
  • mysql卸载与安装
    一、卸载(先停止服务,在任务管理器-服务,中找到mysql右键,选择停止) 1.通过控制面卸载(或直接删除文件)2.删除文件:这里我们需要清理两个文件夹。第一个是:C:\ProgramFiles(x86)\MySQL,第二个是:C:\ProgramData\MySQL,这里的ProgramData可能是隐藏的,我......
  • Centos7.9仅安装mysql8客户端工具
    说明这里的方式是通过MYSQL官网下载包进行安装Mysql客户端,直接使用yum的安装方式没试过,安装命令yuminstallmysql-devel。mysql客户端安装需要在官网上下载4个包,这里以8.0.25版本为例,要下载的包如下:mysql-community-commonmysql-community-client-pluginsmysql-community-......
  • Mysql_批量替换 MySQL 指定字段中的字符串
    批量替换的具体语法是:UPDATE表名SET 指定字段=replace(指定字段,'要替换的字符串','想要的字符串') WHERE条件;  如果你想把article表中ID小于5000的记录,content字段中“解决”替换成“解放”,那么语法就是:UPDATEarticleSET content=replace(content,'解决',......
  • PHP站点及mysql常用操作
    1.mysql查询表里面重复数据SELECT*FROM表名xxxxaWHERE((SELECTCOUNT(*)FROM 表名xxxxWHEREtitle=a.title)>1)ORDERBYtitleDESC//查询标题重复文章SELECT*FROM 表名xxxxaWHERE((SELECTCOUNT(*)FROM 表名xxxxWHEREtitle=a.title)>1)andchann......
  • Mysql_快速返回机制的实现
    MYSQLJDBC快速查询响应的方法,快速返回机制的实现Oracle的快速返回机制,虽然结果集很多,可是它能很快的显示第一个结果,虽然通过MYSQl的客户端可以做到,但是通过JDBC却不行。今天用了1个多小时,终于搞定此问题,希望对广大Java朋友在处理数据库时有个参考。来由:   通过命令行客户端加......
  • Mysql_JDBC OutOfMemoryError
    MySQL的JDBCOutOfMemoryError:Javaheapspace异常       MySql数据库通过JDBC对大表进行查询时抛出java.lang.OutOfMemoryError:Javaheapspace异常。这是因为默认情况下,MySQL的JDBC驱动会一下子把所有row都读取下来,这在一般情况下是最优的,因为可以减少Client-Server......
  • 使用反射按照类结构生成MySQL表
    因为一个表对应一个java类,如果java类多了,一个一个创建表太消耗时间了,同时也想造下轮子。加深下对反射和注解的使用反射和注解把java一切皆对象的思想完全的体现了出来,同时也给java提供了强大的动态性。主要进行工作的类,可以在里面加上jdbc,就可以实现自动创建表了。importjava.......