13、MySQL的正则表达式

mysql 模糊匹配多个值,批量传入可选项 mysql sql模糊匹配多个值 批量传入可选项(List) 阅读详情

1、基本字符串匹配 regexp

mysql> select * from products where prod_name regexp '1000';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
+---------+---------+--------------+------------+---------------------------------------+
1 row in set (0.08 sec)

.号代表任意一个字符 要加\转义符号变成原来的.

mysql> select * from products where prod_name regexp '.000';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
| JP2000  |    1005 | JetPack 2000 | 55.00      | JetPack 2000, multi-use               |
+---------+---------+--------------+------------+---------------------------------------+
2 rows in set (0.07 sec)

3、or的方式 |

mysql> select * from products where prod_name regexp '1000|2000';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
| JP2000  |    1005 | JetPack 2000 | 55.00      | JetPack 2000, multi-use               |
+---------+---------+--------------+------------+---------------------------------------+
2 rows in set (0.08 sec)

4、使用范围进行搜索 [1 2]

mysql> select * from products where prod_name regexp '[1 2]000';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
| JP2000  |    1005 | JetPack 2000 | 55.00      | JetPack 2000, multi-use               |
+---------+---------+--------------+------------+---------------------------------------+
2 rows in set (0.07 sec)

5、排它符 ……^…… 取反

mysql> select * from products where prod_name regexp '[^2]000';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
+---------+---------+--------------+------------+---------------------------------------+
1 row in set (0.06 sec)

6、特殊字符的匹配 \.

mysql> select * from products where prod_name regexp '\\.[1-9]';
+---------+---------+--------------+------------+-----------------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                                     |
+---------+---------+--------------+------------+-----------------------------------------------+
| ANV01   |    1001 | .5 ton anvil | 5.99       | .5 ton anvil, black, complete with handy hook |
+---------+---------+--------------+------------+-----------------------------------------------+
1 row in set (0.07 sec)

7、?代表任意一个字符,‘stick?\)’代表最后一个字符是)。

mysql> select * from products where prod_name regexp 'stick?\\)';
+---------+---------+---------------+------------+------------------------+
| prod_id | vend_id | prod_name     | prod_price | prod_desc              |
+---------+---------+---------------+------------+------------------------+
| TNT1    |    1003 | TNT (1 stick) | 2.50       | TNT, red, single stick |
+---------+---------+---------------+------------+------------------------+
1 row in set (0.07 sec)

8、字符类[0-9] [a-z] [A-Z] {4}

mysql> select * from products where prod_name regexp '[0-9]{4}';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
| JP2000  |    1005 | JetPack 2000 | 55.00      | JetPack 2000, multi-use               |
+---------+---------+--------------+------------+---------------------------------------+
2 rows in set (0.10 sec)

[[:digit:]]

mysql> select * from products where prod_name regexp '[[:digit:]]{4}';
+---------+---------+--------------+------------+---------------------------------------+
| prod_id | vend_id | prod_name    | prod_price | prod_desc                             |
+---------+---------+--------------+------------+---------------------------------------+
| JP1000  |    1005 | JetPack 1000 | 35.00      | JetPack 1000, intended for single use |
| JP2000  |    1005 | JetPack 2000 | 55.00      | JetPack 2000, multi-use               |
+---------+---------+--------------+------------+---------------------------------------+
2 rows in set (0.07 sec)
SQL正则校验手机号:数据库实现与性能优化 正则表达式是数据校验的核心技术之一,通过特定模式匹配实现字符串格式验证。在数据库领域,正则校验常用于手机号、邮箱等关键字段的格式验证,能有效防止脏数据入库。其技术价值在于通过声明式语法实现复杂规则,相比过程式校验更易维护。典型应用包括用户注册校验、数据清洗ETL等场景。针对手机号校验,不同数据库(MySQL/PostgreSQL/SQL Server)的正则实现差异较大,需结合运营商号段规则设计模式。通过预处理字段、物化视图等优化手段,可解决正则表达式导致的索引失效问题,提升亿级数据表的查询性能。 阅读详情

相关推荐

iPhone用户必看:不装App也能搞定GitHub 2FA验证的3种方法(附恢复码管理技巧)

本文为iPhone用户提供了无需安装第三方App即可完成GitHub双重身份验证(2FA)的三种原生方案:利用相机扫码与iCloud钥匙串自动填充、使用iCloud钥匙串内置的TOTP验证码生成器,以及借助Safari浏览器扩展。文章详细解析了每种方法的操作步骤、适用场景,并重点强调了恢复码的安全管理与多层备份策略,帮助开发者在提升账户安全的同时,享受苹果生态的无缝便捷体验。

weixin_29324401的博客 656

12、MySQL的通配符数据过滤,模糊匹配

like操作符 %代表任意多个字符 mysql> select * from products where prod_name like 'jet%'; +---------+---------+--------------+------------+---------------------------------------+ | prod_id | vend_id | prod_name | prod_price | prod_desc

dingpython的博客 154

使用Termux在Android设备上编译运行SpecCPU2006

SPEC2006搭配Termux,竟然还能这么玩?!

菜菜的菜园子 2961

Msql使用concat函数实现关键字模糊查询(列表数据过滤-附前后端代码)

不知道大家在开发中有没有这样的经历:根据条件过滤列表数据项。这种的条件少的还好,比如根据姓名或者性别过滤,这样不仅页面会稍微美观一些,对于sql的压力以及后端的代码量也是会轻松不少的。但是条件多了,条件1,条件2,条件3…

见证自己学习,成长的记录 2199

C++中为什么要引入引用变量?

C++引用机制的设计哲学在于平衡性能与安全性。它解决了指针的三个痛点:语法噪音、空指针风险和语义模糊,同时保持了指针的效率优势。引用必须绑定有效对象且不可重绑定的特性增强了安全性,其值语义语法更直观。尤其在运算符重载和const引用场景中,引用展现了不可替代的优势。本质上,引用是编译器优化的指针实现,体现了C++"零开销抽象"的核心思想——既保持底层性能,又提供高级抽象。这种设计允许开发者根据场景灵活选择指针或引用,反映了C++多范式共存的语言智慧。

教学 & 技术专栏 175

matlab锅炉 pid仿真,基于Matlab锅炉仿真.doc

基于Matlab锅炉仿真内蒙古科技大学MATLAB课程设计任务书2012题 目:锅炉汽包水位控制系统学生姓名:林三彪学 号:0967112127专 业:测控技术与仪器班 级:2009-1指导教师:梁 丽摘 要锅炉是化工、炼油、发电、造纸和制糖等工业生产过程中必不可少的重要动力设备。锅炉往往成了不少工厂不可缺少的一部分,因而,对锅炉设备中的自动控制系统进行分析研究是必要的...

weixin_29133981的博客 1096

mysql模糊匹配多个值

mysql用多个查询结果进行模糊匹配,类似like匹配多个查询结果。 like子句方便做对单个值的匹配,如果要对一个查询结果集都在一个查询语句里匹配,可以用mysql的正则表达式搭配group_concat函数做到。 先看数据表: 目标是在user表中,匹配出姓氏在family_info表中的记录。 使用group_concat函数来生成任意字符串左匹配的正则表达式字符串: select group_concat(concat('^',fi.family_name) SEPARATOR '|') fr

科学鸿的博客 1万+

从零开始用STM32驱动RGB屏:配置PCLK、DE同步信号的避坑指南

本文详细介绍了如何使用STM32驱动RGB接口LCD屏幕,重点解析了PCLK配置、同步信号极性和DE使能等关键参数的设置方法。通过实战代码示例和常见问题排查指南,帮助开发者避免常见配置错误,实现稳定的显示效果。特别针对800x480 IPS屏提供了优化建议和调试技巧。

sky77的博客 541

6、MySQL——模糊查询、字段控制查询

一、模糊查询 1、通配符"_"的使用 2、通配符"%"的使用 3、"_"和"%"的混合使用 二、字段控制查询 1、去除重复记录 2、字段数据之间的计算 3、给列名添加别名 三、排序查询 1、升序排列 2、降序排列 3、多字段排序

优快云_Loveletter的博客 2370

计算机网络实验——入侵检测系统实验

在图1所示的网络结构中,此方案的具体实施:在路由器Router1的接口1出方向配置入侵检测策略,在收到ICMP ECHO请求包时,丢弃并同步向日志服务器报告警告,此时,终端PC2和PC3无法对终端PC0和PC1执行ping操作,并且日志服务器将记录相应的警告信息;在实验一的基础上,添加扩展分组过滤器,指定需要进行检测的信息流的类别,将扩展分组和对应的入侵检测规则进行绑定,使得只对特定的信息流进行入侵检测。加载指定类别的特征库,这里的指定类别是 ios_ips 类别中的 basic 子类别。

放放的博客 1563

6.6kW的车载充电器(On-Board Charger, OBC)电路分析

图片展示了6.6kW的车载充电器(On-Board Charger, OBC)电路,其中包含双向和单向两种拓扑结构。接下来我们将深入分析每个模块的设计、原理及其优势,以帮助理解不同结构在实际应用中的选型和应用。

weixin_43199439的博客 5674

mysql 9章-13章 正则表达式-分组数据

学习笔记~1.正则表达式2.拼接字段3.函数4.汇总数据(函数)5.分组数据 1.正则表达式 … where regexp ‘xxxx’ … 或‘|’ [1-3] [a-z]… 2.拼接字段 … select concat(行1,’(’,行2,’)’) … rtrim()去掉串右边的所有空格 加as取别名,相当于增加了一行数据 可以用as执行算数计算并显示 注:用select可以测试计算 ...

what_er的博客 1231

模型预测控制(MPC)算法介绍

模型预测控制(Model Predictive Control,MPC)是一种先进的控制策略,广泛应用于工业过程控制、机器人控制、电力系统等领域。它基于系统的模型,通过滚动优化来预测系统未来的行为,并据此确定当前的最优控制输入。

AI的内部世界的博客 7175

mysql 正则 反向引用_PHP正则表达式核心技术完全详解 第13节 [补充知识] 反向引用...

作者:极客小俊 一个专注于web技术的80后你不用拼过聪明人,你只需要拼过那些懒人 你就一定会超越大部分人!极客小俊@开源中国,官方首发原创博客: GeekerJun PHP正则中的反向引用反向引用主要是在php中的preg_replace() 函数中 体现的,前面也说到过 这里做一个小小的补充:\n 与 ${n} 在使用中的区别: 小提示:n 可以是0-99\0和 $0代表完整的模式匹配文本直接...

weixin_35990295的博客 70

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

MySQL 正则表达式查询

匹配方式”中有很多的模式匹配字符,它们分别表示不同的意思。在 tb_students_info 表中,查询 name 字段值包含“a”和“y”,且两个字母之间只有一个字母的记录,SQL 语句和执行过程如下。在 tb_students_info 表中,查询 name 字段值包含字母“T”,且“T”后面至少出现“h”一次的记录,SQL 语句和执行过程如下。在 tb_students_info 表中,查询 name 字段值包含字母“T”,且“T”后面出现字母“h”的记录,SQL 语句和执行过程如下。

梁辰兴的博客 9205

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MySQL中使用正则表达式

复制代码2、正文首先准备一张product表,DDL和表数据如下所示,可以直接复制使用。

2401_83601703的博客 746

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MySQL中使用正则表达式(1)

面试前的“练手”还是很重要的,所以开始面试之前一定要准备好啊,不然也是耽搁面试官和自己的时间。我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!点。[外链图片转存中…(img-jOxc1pQK-1713338559728)]

2301_76323084的博客 990

MySQL中如何使用正则表达式

1、简介 MySQL中支持正则表达式匹配,在复杂的过滤条件中,可以考虑使用正则表达式。使用正则表达式需要掌握一些正则表达式的语法和指令,小捌推荐一个学习地址和在线工具,在学习MySQL中使用正则表达式之前,去了解一下正则表达式的语法和指令。 正则表达式学习网址: www.runoob.com/regexp/rege… 正则表达式在线测试: c.runoob.com/front-end/8… 值得注意的是,MySQL支持的正则表达式仅仅是正则表达式众多实现的一个子集,在使用正则表达式之前,建议先测

a1472750149的博客 479

mysql-正则表达式的使用

mysql正则表达式的使用

me_to_007的博客 4176

MySQL函数及正则表达式

简单MySQL数据库查询、函数、正则表达式使用

qq_28469087的博客 793

mysql手册13_常用的SQL技巧

mysql手册13_常用的SQL技巧1. SQL执行顺序1.1 编写顺序1.2 执行顺序1.3 使用正则表达式查询2. MySQL的常用函数2.1 数字函数2.2 字符串函数2.3 日期函数2.4 聚合函数 1. SQL执行顺序 1.1 编写顺序 SELECT DISTINCT <select list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition>

BLU_111的博客 10万+
上一篇: 12、MySQL的通配符数据过滤,模糊匹配
下一篇: 14、MySQL的计算字段
dingpython
博客等级 码龄6年 5粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值