美文网首页MySQL学习MySQL数据
MySQL——用正则表达式进行搜索(六)

MySQL——用正则表达式进行搜索(六)

作者: 开心糖果的夏天 | 来源:发表于2017-06-16 15:06 被阅读110次

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

一、基本字符匹配

SELECT prod_name FROM products WHERE prod_name REGEXP '1000' ORDER BY prod_name;

在数据库example中建立表products ,如下:



此语句的输出如下图所示:


二、进行OR匹配

SELECT prod_name FROM products WHERE prod_name REGEXP '1000|2000' ORDER BY prod_name;

此语句的输出如下图所示:

三、匹配几个字符之一

可通过指定一组用[和]括起来的字符来完成。

SELECT prod_name FROM products WHERE prod_name REGEXP '[123] Ton' ORDER BY prod_name;
SELECT prod_name FROM products WHERE prod_name REGEXP '[1|2|3] Ton' ORDER BY prod_name;

此语句的输出如下图所示:



这里使用了正则表达式[123] Ton。[123]定义一组字符,它的意思是匹配1或2或3。

四、匹配范围

集合可用来定义要匹配的一个或多个字符。例如,下面的集合将匹配数字0-9:[0123456789]。可以简化为[0-9]。范围不限于完整的集合,[1-3]和[6-9]也是合法的范围。此外,范围不一定只是数值的,[a-z]匹配任意字母字符。

SELECT prod_name FROM products WHERE prod_name REGEXP '[1-5] Ton' ORDER BY prod_name;

此语句的输出如下图所示:


五、匹配特殊字符

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

SELECT vend_name FROM vendors WHERE vend_name REGEXP '\\.' ORDER BY vend_name;

此语句的输出如下图所示:


六、定位符

如果想找出以一个数(包括以小数点开始的数)开始的产品,怎么办??解决办法就是用^定位符,如下所示:

SELECT prod_name FROM products WHERE prod_name REGEXP '^[0-9\\.]' ORDER BY prod_name;

此语句的输出如下图所示:

七、简单的正则表达式的测试

可以在不使用数据库表的情况下用SELECT来检测正则表达式。REGEXP检查总是返回0(没有匹配)或1(匹配)。可以用带文字串的REGEXP来测试表达式,并试验它们。相应的语法如下:

SELECT  'hello' REGEXP '[0-9]';

这个例子显然将返回0(因为hello中没有数字)。

相关文章

  • MySQL——用正则表达式进行搜索(六)

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQ...

  • 正则表达式的查询

    MySQL中使用用正则表达式 进行搜索 本小节将学习如何在MySQL WHERE子句内使用正则表达式来更好地控制数...

  • MySQL用正则表达式进行搜索

    用正则表达式进行搜索 1.正则表达式介绍 ​ 对于基于的过滤(或者甚至是某些不那么基本的过滤),可以用匹配、比...

  • Mysql 正则表达式进行搜索(六)

    本节将简单介绍如何在 Mysql where 子句内使用正则表达式来更好地控制数据过滤 基本字匹配符 输出为: r...

  • 使用VSCode去除代码中注释

    将项目用vscode打开 按照下图点击,进行正则搜索正则搜索 匹配替换注释 正则匹配规则正则表达式说明/conte...

  • MySql基本操作(二)

    1. 正则表达式 MySQL可以通过 LIKE ...% 来进行模糊匹配。MySQL 同样也支持其他正则表达式的匹...

  • MySQL笔记

    MySQL学习笔记 [toc] 登录和退出MySQL服务器 基本语法 正则表达式 字段拼接 分组 全文搜索 视图 ...

  • MySQL正则表达式

    一.简介 正则表达式的作用是匹配文本,将一个模式(正则表达式)与一个文本串进行比较。MySQL用where子句对正...

  • MySQL常用命令(四)-REGEXP

    REGEXP 正则表达式的作用是匹配文本,将一个模式与一个文本串进行比较,MySQL用WHERE子句对正则表达式提...

  • 【SQL必知必会】学习笔记day3

    第九章 第九章 用正则表达式进行搜索 正则表达式简单介绍 正则表达式是用来匹配文本的特殊的串(字符集合)。 正则表...

网友评论

    本文标题:MySQL——用正则表达式进行搜索(六)

    本文链接:https://www.haomeiwen.com/subject/waipqxtx.html