mysql用正则表达式定位符_MYSQL使用正则表达式过滤数据
一、正则与LIKE的区别
Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符、字符串。
例如:select * from wp_posts where post_name REGEXP'hello',可以检索出列post_name中所有包含hello的行
REGEXP'.og'.是正则表达式中里一个特殊的字符。它表示匹配一个字符,因此,dog,hog,mog等等都能匹配。
注意:
关于LIKE和REGEXP的区别:LIKE匹配整个列。如果被匹配的文本仅在列值中出现,LIKE并不会找到它,相应的行也不会返回(当然,使用通配符除外)。而REGEXP在列值内进行匹配,如果被匹配的匹配的文本在列值中出现,REGEXP将会找到它,相应的行将被返回,这时一个非常重要的差别(当然,如果适应定位符号^和$,可以实现REGEXP匹配整个列而不是列的子集)。
关于大小写的区分:MySQL中正则表达式匹配(从版本3.23.4后)不区分大小写。如果要区分大小写,应该使用BINARY关键字,如where post_name REGEXP BINARY 'Hello.000'
二、基本字符匹配
检索列prod_name 包含文本1000的所有行:
进行OR匹配相当于:或操作 “|”
匹配几个字符之一只想匹配特定的字符。 可以通过指定一组用[和]括起来的字符来完成。
[456]定义了一组字符,他的意思是匹配4或5或6. []是另一种形式的OR语句。[456]是[4|5|6]的缩写。匹配范围
[1-3] a-z都是合法的范围
匹配特殊字符
正则表达式语言由特殊含义的特殊字符构成。
. 在正则表达式中表示匹配任何一个字符
比如匹配prod_name中包括on字符串的行:
那如何匹配.,[],|,-?
为了匹配特殊字符,必须用\\为前导。 比如\\.表示查找·
匹配字符类
匹配多个实例
再比如 匹配连在一起的4位数字:
sticks? : s后的?使s可选,因为?匹配它前面紧跟的任何字符的0次或者1次出现。
[:digit:]匹配任意数字,因而它为数字的一个集合。{4}确切地要求它前面的字符出现4次。
所以[:digit:]{4}匹配连在一起的任意4位数字。
三、定位符
目前为止所有例子都是匹配一个串中任意为止的文本。为了匹配特定为止的文本,需要使用定位符。
也可以在不使用数据库的情况下测试正则表达式的正确性:
SELECT 来测试正则表达式,REGEXP检查总是返回0或1,
SELECT 'HELLO‘ REGEXP '0‘//返回为0
以上就是本文的全部内容,希望对大家的学习有所帮助。
本文标题: MYSQL使用正则表达式过滤数据
本文地址: http://www.cppcns.com/wangluo/re/149418.html
mysql用正则表达式定位符_MYSQL使用正则表达式过滤数据相关推荐
- mysql 插入记录慢_mysql:insert插入数据过慢如何解决,设置innodb_flush_log_at_trx_commit为0就能解决...
问题: 最近在做性能测试,造数据,发现insert好慢,只有几十条每秒,很奇怪,最后再网上找到了原因. 网文如下: MY SQL insert 速度过慢 最近在用MySQL做存储,测试中发现插入数据太 ...
- mysql字符集修改保存_mysql更改已有数据表的字符集,保留原有数据内容
环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才发现存在不能满足需求需要调整,又不想丢弃这段时间的数据,那么就需要进 行字符集的修改.字符集的修改不能直接通过"alter da ...
- mysql刷盘命令_MySQL延迟问题和数据刷盘
导读 这篇文章主要介绍了MySQL延迟问题和数据刷盘策略流程分析,本文要给大家提到了mysql复制流程,需要的朋友可以参考下 一.MySQL复制流程 官方文档流程如下: MySQL延迟问题和数据刷盘策 ...
- mysql 正则表达式数字_MYSQL使用正则表达式过滤数据
一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串. 例如:select * from wp_posts where post_name REGEX ...
- php正则表达式定位符,3 【正则表达式教程】编程必备技能|正则表达式中最简单的定位符写法,让你快速匹配...
上节课我们给大家介绍了一些正则表达式学习的小工具,这节课我们将用他们来开始我们全新的学习. 这节课先来给大家讲解最简单的正则表达式:所见即所查. 我们用五个字来概括总结了最简单的正则表达式所包含的内涵 ...
- mysql表格基础知识_mysql基础知识-操作表数据
insert into tablename (字段1,字段2,字段3....) values (value1,value2,value3...) .......................... ...
- mysql 数据库 数组类型转换_mysql数字类型的数据如何进行转换?
如何将MySQL数据库中的数字类型转换为数字函数,今天给大家介绍mysql中的转换函数,这个在实际的生活应用中是运用广泛的,大大减少了我们自己手动进行数字类型的转换. 我们今天主要向大家介绍的是用My ...
- mysql blob 存储乱码_mysql 保存 blob 类型数据 乱码 解决
本人问题:mysql 保存 blob 类型数据 乱码 解决 未解决,??? 之前 private string archiveValue;导致 写入的进去之后的中文 都是乱码 改正后 ,即可 pri ...
- mysql union all 别名_MySQL Union合并查询数据及表别名、字段别名用法分析
本文实例讲述了MySQL Union合并查询数据及表别名.字段别名用法.分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM frui ...
- mysql如何drop数据库_mysql drop database删除数据库命令实例讲解
这篇文章主要介绍了mysql drop database删除数据库命令实例讲解的相关资料,需要的朋友可以参考下 mysql drop database命令用于删除一个数据库,如果试图使用drop da ...
最新文章
- PIL图像处理开发极简教程
- 四种为HttpClient添加默认请求报头的解决方案
- python-类思想-实现简单增删查改
- 微软ping程序源代码完整版(附详细的注释)
- 感悟Microsoft summer Camp 2010
- 378.有序矩阵中第k小的元素(力扣leetcode) 博主可答疑该问题
- 多种固定资产盘点方式应对年终固定资产大盘点
- c语言自学考1课后答案,C语言理论练习题(1)及参考答案
- 基因家族分析②:linux下blast的安装和使用
- idea 常用配置介绍(一)
- 审计系统---堡垒机项目之表结构设计
- 基于MATLAB/Simulink软件的单相光伏并网逆变器仿真,仿真中使用两级电路,前级BOOST升压后级光伏逆变并网
- matlab找多项式最值,如何利用matlab计算最小多项式
- YumRepo Error_ All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release_repo_arch co
- 需求获取方法,系统分析师
- torch.where()的用法以及例子
- 刘群:基于深度学习的自然语言处理,边界在哪里?
- AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest !
- JS中本地存储的方式有哪些?
- win8u盘启动linux系统,在Mac系统下制作Windows启动U盘(失败案例)