Mysql - 用正则表达式过滤数据 ( 1 )

数据过滤时,一般使用匹配,比较,通配符等就可完成。但是,随着数据过滤条件的复杂性增加,应该学会使用正则表达式来进行搜索筛选数据。正则表达式是用来匹配文本的字符集合。下面将从几个方面来介绍使用正则表达式过滤数据:


1:基本字符匹配.

首先,看一下即将访问数据表列的数据值:


接下来,我们来看例子:


可以看到,WHERE搜索条件下,匹配到包含'数据'的列,那么,REGEXP的作用时什么?先不着急,我们继续深入。看示例:


注意:.是正则表达式中特殊的字符,它表示匹配任意一个字符所以,'信息系统,操作系统'被匹配。其实REGEXP的作用是:

列内匹配。什么是列内匹配? 好吧,我们不如再来看一个'LIKE与REGEXP差别(重点)'的例子:


从上图可知,LIKE匹配的是整列,REGEXP在列的内部匹配(类似匹配子串的过程),当然REGEXP也能匹配整列。


2:正则表达式的OR匹配.

为了搜索两个串的任意一个,可以使用正则表达式中的OR操作符 - |,它匹配其中之一例如:


可以看到,不仅可以使用单个|操作符,也可以使用两个级以上的|操作符。继续深入。


3:匹配几个字符之一.

接下来,讲解另一种形式的OR语句,我们先来看一下,即将使用到的表数据:


示例如下:


正则表达式 [123] sub表示:匹配 '1 sub'或'2 sub'或'3 sub',因此返回'1 sub'和'2 sub'。需要提醒的一点是:[123] sub是[1|2|3] sub的缩写两者可以互换使用,但简便起见,还是使用第一种最好。 接下来,我们再来看一个例子,加深理解:


这并不是预期的结果。出现该结果的原因:Mysql认为你要检索的是:'1'或'2'或'3 sub',而不是像刚才那样的搜索情况。所以为了保险起见,还是将 '1|2|3'放在中括号中。

我们还可以使用 '^'来匹配搜索条件之外的任何东西(先不要区考虑^是个什么东东)。例如上面的例子,只在[1|2|3]的1前面添加一个^,结果如下:



4:限定匹配范围.

该知识点较为简单,只给出相应示例,希望读者自己可以多多上机操作试验一下:



小结:Mysql基础的知识点虽然非常简单,但是我们也不能纸上谈兵,应该更多的上机练习,俗话说得好:一回生,二回熟嘛。所以,给自己加油。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL正则表达式教程PDF是一本介绍如何使用MySQL正则表达式的电子书,它可以通过PDF格式进行下载和阅读。MySQL正则表达式是一种用于匹配、搜索和处理字符串的工具,它基于正则表达式的模式匹配规则。这本教程将引导读者了解MySQL正则表达式的语法和用法,并提供大量的实例和练习来帮助读者熟悉这个强大的特性。 首先,教程将介绍正则表达式的基本概念和语法规则,包括字符集、通配符、字符类、重复和定位限定符等。读者将学习如何编写匹配规则以满足特定的搜索要求,并了解如何在MySQL查询中使用正则表达式进行模式匹配。 其次,教程将探讨MySQL正则表达式函数的使用方法,包括REGEXP、RLIKE和REGEXP_REPLACE等。这些函数可以在查询中使用,以实现更复杂和高级的字符串处理功能。读者将学习如何在SELECT语句中使用正则表达式过滤、搜索和提取数据。 此外,教程还将提供一些实用的技巧和建议,帮助读者更好地理解和应用MySQL正则表达式。例如,如何处理特殊字符、如何优化正则表达式的性能以及如何在索引列上使用正则表达式等。 总之,MySQL正则表达式教程PDF是一本全面且实用的指南,适用于那些希望了解并掌握MySQL正则表达式的开发者和数据库管理员。通过学习这本教程,读者将能够有效地利用MySQL正则表达式来处理和查询字符串数据,并提高其在数据库开发和管理中的技能和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值