iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中的字符串模式匹配实例讲解
  • 204
分享到

MySQL中的字符串模式匹配实例讲解

2024-04-02 19:04:59 204人浏览 安东尼
摘要

这篇文章主要介绍“Mysql中的字符串模式匹配实例讲解”,在日常操作中,相信很多人在mysql中的字符串模式匹配实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysq

这篇文章主要介绍“Mysql中的字符串模式匹配实例讲解”,在日常操作中,相信很多人在mysql中的字符串模式匹配实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mysql中的字符串模式匹配实例讲解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式模式匹配的格式。

标准的SQL模式匹配

SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符。

例如,在表pet中,为了找出以“b”开头的名字:

> SELECT * FROM pet WHERE name LIKE "b%";


+--------+--------+---------+------+------------+------------+

| name   | owner  | species | sex  | birth      | death      |

+--------+--------+---------+------+------------+------------+

| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |

| Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |

+--------+--------+---------+------+------------+------------+

为了找出以“fy”结尾的名字:

mysql> SELECT * FROM pet WHERE name LIKE "%fy";


+--------+--------+---------+------+------------+-------+

| name   | owner  | species | sex  | birth      | death |

+--------+--------+---------+------+------------+-------+

| Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |

| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |

+--------+--------+---------+------+------------+-------+

为了找出包含一个“w”的名字:

mysql> SELECT * FROM pet WHERE name LIKE "%w%";


+----------+-------+---------+------+------------+------------+

| name     | owner | species | sex  | birth      | death      |

+----------+-------+---------+------+------------+------------+

| Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |

| Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |

| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |

+----------+-------+---------+------+------------+------------+

为了找出包含正好5个字符的名字,使用“_”模式字符:

mysql> SELECT * FROM pet WHERE name LIKE "_____";


+-------+--------+---------+------+------------+-------+

| name  | owner  | species | sex  | birth      | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |

| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |

+-------+--------+---------+------+------------+-------+

扩展正则表达式模式匹配

由MySQL提供的模式匹配的其他类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT

RLIKE,它们是同义词)。

扩展正则表达式的一些字符是:

“.”匹配任何单个的字符。

一个字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的一个范围,使用一个“-”。

“[a-z]”匹配任何小写字母,而“[0-9]”匹配任何数字。

“ * ”匹配零个或多个在它前面的东西。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配的任何数量的数字,而“.*”匹配任何数

量的任何东西。

正则表达式是区分大小写的,但是如果你希望,你能使用一个字符类匹配两种写法。例如,“[aA]”匹配小写或大写的“a”而“[a-zA-Z]”匹

配两种写法的任何字母。

如果它出现在被测试值的任何地方,模式就匹配(只要他们匹配整个值,SQL模式匹配)。

为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。

为了说明扩展正则表达式如何工作,上面所示的LIKE查询在下面使用REGEXP重写:

为了找出以“b”开头的名字,使用“^”匹配名字的开始并且“[bB]”匹配小写或大写的“b”:

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";


+--------+--------+---------+------+------------+------------+

| name   | owner  | species | sex  | birth      | death      |

+--------+--------+---------+------+------------+------------+

| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |

| Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |

+--------+--------+---------+------+------------+------------+

为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:

mysql> SELECT * FROM pet WHERE name REGEXP "fy$";


+--------+--------+---------+------+------------+-------+

| name   | owner  | species | sex  | birth      | death |

+--------+--------+---------+------+------------+-------+

| Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |

| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |

+--------+--------+---------+------+------------+-------+

为了找出包含一个“w”的名字,使用“[wW]”匹配小写或大写的“w”:

mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";


+----------+-------+---------+------+------------+------------+

| name     | owner | species | sex  | birth      | death      |

+----------+-------+---------+------+------------+------------+

| Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |

| Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |

| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |

+----------+-------+---------+------+------------+------------+

既然如果一个正规表达式出现在值的任何地方,其模式匹配了,就不必再先前的查询中在模式的两方面放置一个通配符以使得它匹配整个值,

就像如果你使用了一个SQL模式那样。

为了找出包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和5个“.”实例在两者之间:

mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";


+-------+--------+---------+------+------------+-------+

| name  | owner  | species | sex  | birth      | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |

| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |

+-------+--------+---------+------+------------+-------+

你也可以使用“{n}”“重复n次”操作符重写先前的查询:

mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";


+-------+--------+---------+------+------------+-------+

| name  | owner  | species | sex  | birth      | death |

到此,关于“MySQL中的字符串模式匹配实例讲解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中的字符串模式匹配实例讲解

本文链接: https://www.lsjlt.com/news/60488.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中的字符串模式匹配实例讲解
    这篇文章主要介绍“MySQL中的字符串模式匹配实例讲解”,在日常操作中,相信很多人在MySQL中的字符串模式匹配实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQ...
    99+
    2024-04-02
  • MySQL中有哪些字符串匹配模式
    这期内容当中小编将会给大家带来有关MySQL中有哪些字符串匹配模式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  MySQL字符串匹配模式有哪些  SQL的模式匹配允许...
    99+
    2024-04-02
  • 正则表达式之字符串模式匹配实例详解
    目录前言什么是正则表达式字符范围匹配元字符多次重复匹配定位匹配贪婪模式与非贪婪模式表达式分组结语前言 今天我们来学习正则表达式,正则表达式的应用十分广泛,几乎每个涉及到交互的项目都会...
    99+
    2024-04-02
  • Python实现字符串模糊匹配方式
    目录Python字符串模糊匹配包含四个参数python-re模块,模糊匹配Python字符串模糊匹配 Python的difflib库中get_close_matches方法 包含四个...
    99+
    2024-04-02
  • 从 Go 中的字符串中提取匹配模式
    编程网今天将给大家带来《从 Go 中的字符串中提取匹配模式》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我...
    99+
    2024-04-04
  • python 字符串模糊匹配Fuzzywuzzy的实现
    目录(1)安装(2)接口说明(3)使用Python提供fuzzywuzzy模块,不仅可用于计算两个字符串之间的相似度,而且还提供排序接口能从大量候选集中找到最相似的句子。 (1)安装...
    99+
    2024-04-02
  • Python字符串格式化实例讲解
    目录一、%-formatting二、str.format()三、f-Strings在Python 3.6之前,有两种将Python表达式嵌入到字符串文本中进行格式化的主要方法:%-f...
    99+
    2024-04-02
  • Java实现字符串匹配的示例代码
    目录java实现字符串匹配暴力匹配KMP算法java实现字符串匹配 暴力匹配 private static int violence(String str1, String str...
    99+
    2024-04-02
  • python3 re模块正则匹配字符串中
    匹配时间: # -*- coding:utf-8 -*- import re def parseDate(l): patternForTime = r'(\d{4}[\D]\d{1,2}[\D]\d{1,2}[\D])' ...
    99+
    2023-01-31
    正则 字符串 模块
  • C语言字符串的模式匹配之BF与KMP
    目录BF算法(Brute-Force算法)KMP算法(快速的)KMP—yxc模板总结确定一个子串(模式串)在主串中第一次出现的位置。 BF算法(Brute-Force算法) BF算法...
    99+
    2024-04-02
  • Python正则表达式匹配字符串中的数字
    这篇文章主要介绍了Python正则表达式匹配字符串中的数字,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下1.使用“\d+”匹配全数字...
    99+
    2023-06-01
  • Java Pattern与Matcher字符串匹配案例详解
    Pattern类定义          public final class Pattern extends Object impl...
    99+
    2024-04-02
  • Python的字符串示例讲解
    目录1. 字符串的创建1) 字符串的定义2. 字符串的常用操作1) 查询操作 a) 大小写转换b) 字符串内容对齐操作c) 字符串的拆分d) 字符串的判断方法2) 字符串的...
    99+
    2024-04-02
  • python怎么匹配字符串中的数字
    要匹配字符串中的数字,可以使用正则表达式来实现。下面是一个简单的示例,演示如何使用正则表达式来匹配字符串中的数字: import r...
    99+
    2024-04-08
    python
  • shell如何匹配字符串中的数字
    在shell中,可以使用正则表达式来匹配字符串中的数字。可以使用grep命令来进行匹配,具体的语法如下:```shellgrep -...
    99+
    2023-09-26
    shell
  • mysql字符串匹配的方法是什么
    MySQL提供了多种方法来进行字符串匹配,其中常用的有以下几种:1. LIKE操作符:LIKE操作符是最常用的字符串匹配方法,它可以...
    99+
    2023-10-09
    mysql
  • shell字符串匹配的实现方法
    这篇文章主要介绍了shell字符串匹配的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、简介      Bash ...
    99+
    2023-06-09
  • sql如何匹配字符串中的某个字
    在SQL中,可以使用LIKE操作符来匹配字符串中的某个字。以下是一个示例: 假设有一个名为products的表,其中包含一个名为na...
    99+
    2024-04-15
    sql
  • python怎么匹配字符串中间的文字
    你可以使用正则表达式来匹配字符串中间的文字。以下是一个例子:```pythonimport retext = "Hello Worl...
    99+
    2023-08-30
    python
  • Java正则表达式匹配字符串并提取中间值的方法实例
    目录前言场景一:提取SAML2报文解析场景2:提取sql中的表名和字段总结前言 有时候正则表达式不只是匹配一下什么数字/邮箱/身份证/日期等等,还需要匹配某一段文字,并按照既定格式提...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作