1、MySQL中使用通配符检索数据库,之外还可以使用正则表达式来检索数据。

使用通配符   ‘_’  和   '%'的区别如下,   使用通配符的技巧:一般的来说 通配符可以处理数据,但是消耗内存较大,  所以在使用的时候要注意技巧。

  • 不要过度的使用通配符 如果其他操作系统能够达到形同的效果,使用其他的方法。
  • 不要将通配符使用在搜索模式的开始处,不然搜索很缓慢。
  • 注意通配符的位置,放错地方会检索的数据完全的不同

2、使用正则表达式进行搜索数据库

正则表达式 是用来匹配文本的特殊的字符串,这里正则表达式的语法不再重复(MySQL仅支持多数正则表达式实现的一个很小的子集)

REGEXP 类似 之前通配符的  like

下面的正则表达式中的  .   表示任意一个字符

下面比较下like 和REGEXP 之间的差别,通过语句之间的差异来比对:从下面的两条执行的语句来看,第一条不会反悔结果,但是使用正则表达的会返回结果。 因为LIKE 匹配的是整个列,如果被匹配的文本在列值中出现,like将不会找到,相应的行也不会返回结构除非使用通配符。  但是REGEXP 在列值内进行匹配,如果匹配的文本在列值中出现,REGEXP则会找打,相应的行会被返回。

除此之为傲REGEXP 也可以像like一样匹配整个列值, 可以使用   ^ 和$ 定位符即可。 在MySQL中的正则表达式不区分大小写,如果要区分大小写可以使用关键字  BINARY  eg:  where prod_name REGEXP BINARY   'JetPack  .000' 。

其二 OR的匹配: 搜索两个串之一或者另一个串,使用   |     ,| 为正则表达式OR的操作符,表示匹配其中的之一。1000,2000都匹配所有都返回。从功能是上看,类似于select语句中使用的or 语句。

匹配几个字符之一,可以使用 [] 俩进行限制。【123】表示定义一组字符,他的意思是匹配1,2,或者3 ,因此1  ton , 2ton ,返回。

为了简化这种类型的集合,可以使用定义一个范围,[0123456789] 表示匹配0-9之间的数字,或者使用[0-9]功能类似  ,或者也可以是字母[a-z]

匹配特殊字符:   匹配 .  其中 .表示任意字符,所有与之匹配的所有字符都被检索出来

为了匹配特字符,我们使用\\ 为前导 符号,   \\ -表示查找  -,    \\.  表示查找 .    下面反馈的数据才是我们正在期望输出的,这种处理方式叫做转义。除此之外还有 其他的表达式。

\\f  表示换页    \\n 表示换行     \\r 表示回车    \\t 表示制表符     \\v 表示纵向制表符

匹配字符类, MySQL中定义了字符类。这个下去自己查找。

匹配多个实例:  目前为止正则表达式视图匹配单次出现,如果存在一个匹配该行被检索出来,如果没有则检索不出任何行,但有时候需要对匹配的数目进行严格的控制,比方说你可能需要查找所有的数字,不管包含多少数字。

[:digit:]匹配任意数字,因为他是数字的一个集合。{4} 表示确切的要求他前面的字符出现4次 ,所以  [[:digig:]]{4} 匹配连载一起的任意四位数字

但是在编写正则表达式的时候每一种过滤都可以使用不同的方法来实现。

最后看 定位符的作用。为了匹配特定位置的文本,需要使用定位符:

^ 表示文本的开始位置      $ 表示文本的结尾位置       [[:<:]]  词的开始           [[:>:]] 词的结尾位置

MYSQL中正则表达式检索数据库的更多相关文章

  1. MySQL中的information_schema数据库表说明

    MySQL 中的 information_schema 数据库   版权声明:https://blog.csdn.net/kikajack/article/details/80065753 1. 概述 ...

  2. mysql中正则表达式的使用

    mysql中正则表达式的性能要高于like,所以这里总结一下正则表达式的使用. 正则表达式的模式及其含义: 下面举例说明其用法: 建表student: create table student(id ...

  3. MySQL 中的默认数据库介绍

    MySQL 中的默认数据库介绍:https://dataedo.com/kb/databases/mysql/default-databases-schemas 默认数据库 官方文档 informat ...

  4. MySQL中的information_schema数据库详解

    information_schema数据库是MySQL自带的,它提供了访问数据库元数据的方式.什么是元数据呢?元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等.有些时候用于表述该信 ...

  5. EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型

    官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新 ...

  6. 关于MYSQL中like 检索汉字问题。

    mysql中like’中国‘查询不出来结果 如果 like‘zg’就看查询出来结果. 查询了半天是由于mysql中编码的原因 解决办法: 进入mysql 输入命令:show variables lik ...

  7. MySQL中正则表达式

    正则表达式是用来匹配文本的特殊的串(字符集合),将一个模式(正则表达式)与一个文本串进行比较 从文本文件中提取电话号码 查找名字中间带有数字的文件 文本块中重复出现的单词 替换页面的URL为这些URL ...

  8. Mysql 中如何创建数据库和数据表

    这里的数据库为:user  数据表为 aaa mysql –uroot –p                 进入mysql create database user;            创建数据 ...

  9. MySQL中关于主从数据库同步延迟的问题解决

    MySQL的主从同步是一个很成熟的架构,优点为:①在从服务器可以执行查询工作(即我们常说的读功能),降低主服务器压力;②在从主服务器进行备份,避免备份期间影响主服务器服务;③当主服务器出现问题时,可以 ...

  10. MySQL 中的 information_schema 数据库

    1. 概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库.其中 performance_schema 用于性能分析,而 ...

随机推荐

  1. RestTemplate-postForObject详解、调用Https接口、源码解析,读懂这一篇文章就够了

    restTemplate 目录 restTemplate 1. 基本介绍 2. 常用方法分析及举例 2.1. get请求 2.2. post请求 3. springboot中使用restTemplat ...

  2. 携程Java三面面经,已拿 offer!!

    分享一位读者投稿的携程校招 Java 岗位的面经. 下面是正文. 个人背景:双非本,机械专业转码. 携程在正式面试之前,会有一个性格测试(40分钟).性格测试之后,大概过一周进行笔试.笔试之后,会邮件 ...

  3. C# 多线程与线程扫描器

    多线程是一种复杂的编程技术,可以同时运行多个独立的线程来处理各种任务.在C#中,可以使用Thread类和ThreadPool类来实现多线程编程.Thread类用于创建和控制线程.可以使用Thread. ...

  4. C/C++ 实现常用的线程注入

    各种API远程线程注入的方法,分别是 远程线程注入,普通消息钩子注入,全局消息钩子注入,APC应用层异步注入,ZwCreateThreadEx强力注入,纯汇编实现的线程注入等. 简单编写DLL文件: ...

  5. C# WinForm 界面控件

    C# WinForm是一种GUI应用程序框架,它允许开发人员使用各种控件来创建丰富的用户界面.以下是一些C# WinForm中常见的界面控件:这些界面控件在C# WinForm应用程序开发中非常常见, ...

  6. webpack重新打包清空dist文件夹的问题

    1.5.20.0以上版本才支持output属性里的clean:true 5.20.0+ 5.20以下版本清除dist文件内容一般使用插件 clean-webpack-plugin, 5.20版本以后o ...

  7. 从零搭建Vue3 + Typescript + Pinia + Vite + Tailwind CSS + Element Plus开发脚手架

    项目代码以上传至码云,项目地址:https://gitee.com/breezefaith/vue-ts-scaffold 目录 前言 脚手架技术栈简介 vue3 TypeScript Pinia T ...

  8. Git企业开发控制理论和实操-从入门到深入(二)|Git的基本操作

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...

  9. 利用显卡的SR-IOV虚拟GPU技术,实现一台电脑当七台用

    背景 虚拟桌面基础设施(VDI)技术一般部署在服务器,可以实现多个用户连接到服务器上的虚拟桌面.随着桌面计算机性能的日益提升,桌面计算机在性能在很多场景下已经非常富余,足够同时满足多个用户同时使用的需 ...

  10. 如何快速获取AWR中涉及到的表

    最近遇到一个很少见的需求,是关于应用测试方面的. 具体来说,这个应用的测试需求要基于一个固定的时间点数据,而且只能测试一轮,再测试就需要还原到测试前状态. 因为我们使用的存储是分层的(热数据在Flas ...