mysql8.0 正值表达式Regular expressions (sample database classicmodels _No.5)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 本文介绍了MySQL8.0中的正值表达式及其相关函数,通过实例展示了如何使用正则表达式进行字符串匹配,并提出了关于执行效率的问题。

mysql8.0 正值表达式Regular expressions

准备工作,可以去下载 classicmodels 数据库资源如下

[ 点击:classicmodels]


(https://download.csdn.net/download/tomxjc/88685970)

前言

今天看到一个网站 在正值表达式 我今天分享给大写 ,都是 和 正值表达式有关

以下是一些介绍正值表达式,


NOT REGEXP-------- REGEXP 的否定

REGEXP --------字符串是否匹配正则表达式

REGEXP_INSTR()-------- 匹配正则表达式的子串的起始索引

REGEXP_LIKE() --------字符串是否匹配正则表达式

REGEXP_REPLACE()-------- 替换匹配正则表达式的子字符串

REGEXP_SUBSTR() --------返回匹配正则表达式的子串

RLIKE --------字符串是否匹配正则表达式


正则表达式是指定复杂搜索模式的有效方法。可用于正则表达式匹配的函数和运算符,并通过示例说明可用于正则表达式操作的一些特殊字符和结构。


MySQL 使用 International Components for Unicode (ICU) 实现正则表达式支持,它提供完整的 Unicode 支持并且是多字节安全的。 (在 MySQL 8.0.4 之前,MySQL 使用 Henry Spencer 的正则表达式实现,该实现以字节方式操作,并且不是多字节安全的。有关使用正则表达式的应用程序可能受到实现更改影响的方式的信息,请参阅正则表达式兼容性注意事项。)


在 MySQL 8.0.22 之前,可以在这些函数中使用二进制字符串参数,但它们会产生不一致的结果。在 MySQL 8.0.22 及更高版本中,使用任何 MySQL 正则表达式函数都会拒绝使用二进制字符串 ER_CHARACTER_SET_MISMATCH。

一、查文档

还是可以去mysql 官网查文档的 正值表达式Regular expressions

二、一些示例参考

查找包含名称 ‘Ford’ 的产品。

SELECT * FROM Products WHERE LOWER(productName) REGEXP 'Ford';


列出以 ‘ship’ 结尾的产品。

SELECT * FROM Products WHERE LOWER(productName0 REGEXP 'ship$';


报告在丹麦、挪威和瑞典的客户数量。

SELECT country, COUNT(*) FROM Customers
WHERE country REGEXP 'Denmark|Norway|Sweden'
GROUP BY country;'


哪些产品的产品代码在 S700_1000 到 S700_1499 的范围内?

SELECT * FROM Products WHERE productCode REGEXP 'S700_1[0-4][0-9]{2}';

哪些客户的姓名中包含数字?

SELECT * FROM Customers WHERE customerName REGEXP '[0-9]';

列出名为 Dianne 或 Diane 的员工的姓名。

SELECT * FROM Employees WHERE firstName REGEXP 'Dian';

列出产品名称中包含 ‘ship’ 或 ‘boat’ 的产品。

SELECT * FROM Products WHERE LOWER(productName) REGEXP 'ship|boat';

列出产品代码以 S700 开头的产品。

SELECT * FROM Products WHERE productCode REGEXP '^S700' ;

列出名为 Larry 或 Barry 的员工的姓名。

SELECT * FROM Employees WHERE firstName REGEXP '[BL]array';

列出姓名中包含非字母字符的员工的姓名。

SELECT * FROM Employees WHERE LOWER(firstName ) REGEXP '[^a-z]';

列出名称以 ‘Diecast’ 结尾的供应商。

SELECT DISTINCT(productVendor) FROM Products WHERE LOWER(productVendor) REGEXP 'diecast


三、然后问题来了? 正值表达式 执行效率快吗?

这个是 chat GPT,答案共参考


总结

`好了,今天就说到这里,其实很多场景还是需要的正值表达式 的 如 email 验证,信用卡验证,身份证验证,

最后需要大家点赞收藏,一键3连



相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 前端开发 关系型数据库
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
359 0
全表数据核对 ,行数据核对,列数据核对,Mysql 8.0 实例(sample database classicmodels _No.3 )
|
10月前
|
存储 关系型数据库 MySQL
利用Cron表达式实现MySQL数据库的定时备份
以上就是如何使用Cron表达式和mysqldump命令实现MySQL数据库的定时备份。这种方法的优点是简单易用,而且可以根据需要定制备份的时间和频率。但是,它也有一些限制,例如,它不能备份MySQL服务器的配置文件和用户账户信息,也不能实现增量备份。如果需要更复杂的备份策略,可能需要使用专门的备份工具或服务。
263 15
|
11月前
|
SQL 关系型数据库 MySQL
MySQL:CTE 通用表达式
CTE(通用表表达式)为处理复杂查询提供了强大的工具。通过普通CTE,可以简化查询逻辑,提高可读性;通过递归CTE,可以优雅地处理层级结构数据。掌握CTE的使用,对于提升SQL查询能力和优化数据库操作有着重要意义。希望本文能帮助你更好地理解和使用MySQL中的CTE,提高工作效率和代码质量。
441 7
|
关系型数据库 MySQL 数据库
mysql 8.0 递归(例子分享)(sample database classicmodels _No.4)
本文介绍了如何在MySQL8.0中使用递归查询处理部门表和员工表的树形结构数据,包括查看文档、准备数据、递归处理以及提取层级信息。作者通过示例展示了WITHRECURSIVE语句的应用及其在数仓中的结构表示。
267 2
|
SQL 数据库
数据审计 -本福德定律 Benford‘s law (sample database classicmodels _No.6)
数据审计 -本福德定律 Benford‘s law (sample database classicmodels _No.6)
419 1
|
SQL 关系型数据库 MySQL
介绍5款 世界范围内比较广的 5款 mysql Database Management Tool
介绍5款 世界范围内比较广的 5款 mysql Database Management Tool
725 0
|
SQL Oracle 关系型数据库
窗口函数(sample database classicmodels _No.8 )
本文介绍了SQL中的窗口函数,包括其概念、语法以及在实例中的应用。重点讲解了如何使用窗口函数进行聚合、排序和分析操作,特别提到了MySQL中常见的四个窗口函数:DENSE_RANK(),RANK(),ROW_NUMBER(),LAG()。
267 0
|
存储 Oracle 数据建模
大工程 从0到1 数据治理 之数据模型和设计篇(sample database classicmodels _No.7)
大工程 从0到1 数据治理 之数据模型和设计篇(sample database classicmodels _No.7)
276 0
|
存储 SQL NoSQL
大工程 从0到1 数据治理 数仓篇(sample database classicmodels _No.7)
大工程 从0到1 数据治理 数仓篇(sample database classicmodels _No.7)
225 0
|
SQL Oracle 关系型数据库
WARNING: Too Many Parse Errors With error=911 When Running a JDBC Application Connected to an Oracle 19c database
WARNING: Too Many Parse Errors With error=911 When Running a JDBC Application Connected to an Oracle 19c database (
501 2

推荐镜像

更多