mysql 通配符与模式匹配用法详解

一、通配符

什么是通配符?

通配符用于替换字符串中的一个或多个字符。

通配符通常与LIKE、NOT LIKE操作符一起使用。LIKE操作符在WHERE子句中用于搜索列中的指定模式。

Mysql 有哪些通配符?

  • % :百分号通配符,表示匹配0个或多个字符。

  • _ :短划线通配符,表示匹配任意的一个字符。

通配符用法示例

  • 使用 % 匹配以指定值开头的
WHERE name LIKE 'a%'
  • 使用 % 匹配以指定值结尾的
WHERE name LIKE '%a'
  • 使用两个 % 匹配包含指定值的
WHERE name LIKE '%a%'
  • 例如 a%b %放在值中间,匹配以 a开头,以b结尾的
WHERE name LIKE 'a%b'
  • 例如 _ondon 可以匹配 london、aondon等
WHERE name LIKE '_ondon'
  • 例如 londo_ 可以匹配 london、londom等
WHERE name LIKE 'londo_'
  • 例如 h_t 可以匹配 hot、hat等,中间可以是任意一个字符
WHERE name LIKE 'h_t'
  • 例如 _r% 可以匹配以某某r开头的值
WHERE name LIKE '_r%'
  • 例如 a_%_% 可以匹配以a开头后面接两个任意字符的值
WHERE name LIKE 'a_%_%'
  • 例如匹配长度为5的任意字符,则使用5个 _
WHERE name LIKE '_____'
  • %_ 本身作为匹配的字符时,使用 ESCAPE 来转义处理
WHERE name LIKE '67#%%' ESCAPE '#'此处使用 ESCAPE 语句指定 # 作为转义字符,用来转义第一个%,所以此查询可以查询 67%既然ESCAPE可以自定义指定转义字符,那么,如下:WHERE name LIKE '67=%%' ESCAPE '=',与上面是对等的。
  • 通过 \ 直接转义,与 ESCAPE 效果相同,例如查询包含 _ 的记录,即可以使用 ESCAPE ,也可以使用 \ 来直接转义,如下:
WHERE name LIKE '%#_%' ESCAPE '#'WHERE name LIKE '%\_%'

二、模式匹配

除了使用 LIKENOT LIKE,还可以使用 REGEXPNOT REGEXP 操作符,同时还有 RLIKENOT RLIKE ,此为 REGEXPNOT REGEXP 的同义词,两者效果相同。

模式匹配示例

  • 使用 REGEXP 匹配指定值开头的,默认不区分大小写
WHERE name REGEXP '^b'
  • 使用 REGEXP 匹配指定值开头的,且区分大小写
WHERE name REGEXP BINARY '^b'使用BINARY关键字使其中一个字符串成为二进制字符串
  • 使用 REGEXP 匹配指定值结尾的
WHERE name REGEXP 'b$'
  • 使用 REGEXP 匹配包含指定值的
WHERE name REGEXP 'b'
  • 使用 REGEXP 匹配长度为5的值(方法一)
WHERE name REGEXP '^.....$'. 表示匹配任意值
  • 使用 REGEXP 匹配长度为5的值(方法二)
WHERE name REGEXP '^.{5}$'{5} 表示重复前面的值5次,此处为.即重复任意值5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TXT文本高效编辑神器,教你进行隔行删除不需要的内容,轻松整理文本内容。

在信息爆炸的时代,我们每天都会接触到大量的文本信息,无论是工作中的报告、邮件,还是生活中的读书笔记、备忘录,都需要我们对文本进行高效的管理和编辑。然而,传统的文本编辑方式往往繁琐低效,无法满足我们…

PTA L2-048 寻宝图

给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏,这些有宝藏的点也被标记出来了。本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。 输入格式&#xf…

程序员35岁现象:年龄与职业发展的辩证关系

程序员35岁现象:年龄与职业发展的辩证关系 引言 近年来,关于程序员职业发展的“35岁现象”引发了业界内外的广泛关注。人们普遍认为35岁是一道程序员生涯的分水岭,一部分人担忧随着年龄增长,技术更新速度快,资深程序员…

LeetCode练习题--567.字符串的排列

今天讲一个非常经典的滑动窗口的问题 这道题的意思很明显: 给你两个字符串s1与s2,判断s2中是否存在一个子串:它包含s1中所有字符且不包含其他字符 让我们先来写一下滑动窗口的模板: /*** 滑动窗口模板 * param s1 * param s2 */public static void model (String s1, String s2…

包装类知识总结

包装类的使用1. 为什么要使用包装类? 为了使得基本数据类型的变量具备引用数据类型变量的相关特征(比如:封装性、继承性、多态性),我们给各个基本数据 类型的变量都提供了对应的包装类。 为了让基本数据类型也可以有引…

51单片机入门:认识开发板

认识开发板 板载资源: 数码管模块 说明: 2个四位一体共阴数码管 详细: 2个四位一体:两个独立的四位数码管,每个四位数码管都是“一体”的设计,也就是说,每个数码管内部集成了四个独立的七段LE…

HTTPS跟HTTP有区别吗?

HTTPS和HTTP的区别,白话一点说就是: 1. 安全程度: - HTTP:就像是你和朋友面对面聊天,说的话大家都能听见(信息明文传输,容易被偷听)。 - HTTPS:就像是你们俩戴着加密耳机…

回文串问题

1、回文子串 647. 回文子串 - 力扣(LeetCode) class Solution {//1、状态表示:// dp[i][j]:s字符串种从i位置到j位置的子串,是否是回文串//2、状态转移方程://if s[i] != s[j],false//如果s[i] == s[j]:(1)i == j,true;(2) i+1 == j相邻,true;(3)如果不是前面两种关…

论大数据服务化发展史

引言 一直想写一篇服务化相关的文章,那就别犹豫了现在就开始吧 正文 作为大数据基础架构工程师,业界也笑称“运维Boy”,日常工作就是在各个机器上部署以及维护服务,例如部署Hadoop、Kafka、Pulsar这些等等,用于给公…

InternLM2-lesson2笔记

书生浦语大模型趣味 Demo 视频连接:https://www.bilibili.com/video/BV1AH4y1H78d/?vd_source902e3124d4683c41b103f1d1322401fa 目录 书生浦语大模型趣味 Demo课程总览SIG项目Demo部署的一般流程存在的问题总结 课程总览 InternLM2-chat-1.8B部署八戒-chat-1.8B…

【css】文本过长溢出一行不换行普通css以及antd实现

.text-box { white-space: nowrap; /* 防止文字换行 */ overflow: hidden; /* 隐藏超出div的内容 */ text-overflow: ellipsis; /* 当内容超出时,显示省略号 */ max-width: calc(100% - 80px); /* 假设按钮宽度为80px,则设置div的最大宽度为容器宽度…

【华为OD机试】根据IP查找城市(贪心算法—JavaPythonC++JS实现)

本文收录于专栏:算法之翼 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目二.解题思路三.题解代码Python题解代码JAVA题解代码C/C++题解代码JS题解代码四.代码讲解(Ja…

Nginx配置使用笔记

Nginx配置使用笔记 前言 官网下载压缩包https://nginx.org/ 解压完成后当前目录cmd输入nginx指令启动 访问http://localhost:80确认启动成功 1.部署前端项目 部署前端项目到路径E:\Workspaces\Vscode\app-web 2.0配置nginx.conf文件 在nginx安装的conf目录下新建一个文件夹l…

Mysql索引总结(1)

文章目录 InnoDB索引与MyISAM索引实现的区别是什么?一个表中如果没有创建索引,那么还会创建B树吗?B树索引实现原理(数据结构) InnoDB索引与MyISAM索引实现的区别是什么? MyISAM的索引方式都是非聚簇的&…

07-app端文章搜索

app端文章搜索 1) 今日内容介绍 1.1)App端搜索-效果图 1.2)今日内容 文章搜索 ElasticSearch环境搭建 索引库创建 文章搜索多条件复合查询 索引数据同步 搜索历史记录 Mongodb环境搭建 异步保存搜索历史 查看搜索历史列表 删除搜索历史 联想词查询 联想词的来源 联…

elasticSearch原理浅尝

终于等到你 马上就要放弃 开个玩笑 ,进入正题 on fire 基础的咱不说了,一搜一麻袋 读 全文检索: 协调节点广播查询请求到相关分片 并 将其响应 整合 全局排序 返回结果集合 带路由:具体文档 shard hash(document_id) % (…

redis进阶入门主从复制与哨兵集群

一、主从复制 1.1背景 一般来说,要将 Redis用于工程项目中,只使用一台 Redist是万万不能的,原因如下: 从结构上,单个 Redist服务器会发生单点故障,井且一台服务器需要处理所有的请求负載,压力…

HTML基础知识详解(上)(如何想知道html的全部基础知识点,那么只看这一篇就足够了!)

前言:在学习前端基础时,必不可少的就是三大件(html、css、javascript ),而HTML(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦,它定义了网页内容的含义和…

P1570 KC 喝咖啡

P1570 KC 喝咖啡 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 让求 ∑ v i ∑ c i \frac { \sum{ v_i}} { \sum{c_i}} ∑ci​∑vi​​的最大值,假设值为 a n s ans ans,则 a n s ∑ v i ∑ c i ans \frac {\sum{v_i}} {\sum{c_i}} ans∑ci​∑vi​…

物联网实战--驱动篇之(一)EEPROM存储器(AT24C64)

目录 一、驱动概述 二、AT24C64简介 三、驱动编写 四、驱动应用 一、驱动概述 这是驱动篇的第一篇,所以先说明下驱动篇的作用和书写计划。之前的净化器项目已有提及,向ESP8266、SHT30这些都属于驱动设备,主芯片STM32是核心,相…