标签分类
技术文章
当前位置:主页 > 计算机编程 > mysql > MySQL使用正则表达式进行查询操作经典实例总结

MySQL使用正则表达式进行查询的实例解析

  • 发布时间:
  • 作者:码农之家原创
  • 点击:193

MySQL使用正则表达式进行查询操作经典实例总结

这篇文章主要知识点是关于MySQL,正则表达式,查询,MySQL使用正则表达式进行查询操作经典实例总结,的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

PHP+MySQL动态网站开发从入门到精通
  • 类型:PHP网站开发大小:36.2 MB格式:PDF出版:清华大学出版社作者:张工厂
立即下载

更多相关的学习资源可以参阅 数据库电子书图形处理电子书行业软件及应用电子书、等栏目。

本文实例总结了MySQL使用正则表达式进行查询操作。分享给大家供大家参考,具体如下:

字符“^”匹配特定字符

SELECT * FROM fruits WHERE f_name REGEXP '^b';

字符'$‘特定字符结尾

SELECT * FROM fruits WHERE f_name REGEXP 'y$';

字符“.”代替字符串中的任意一个字符

SELECT * FROM fruits WHERE f_name REGEXP 'a.g';

星号“*”匹配前面的字符任意多次,包括0次。加号“+”匹配前面的字符至少一次

SELECT * FROM fruits WHERE f_name REGEXP '^ba*';
SELECT * FROM fruits WHERE f_name REGEXP '^ba+';

匹配指定字符串

SELECT * FROM fruits WHERE f_name REGEXP 'on';
SELECT * FROM fruits WHERE f_name REGEXP 'on|ap';

匹配指定字符串中的任意一个

SELECT * FROM fruits WHERE f_name REGEXP '[ot]';
SELECT * FROM fruits WHERE s_id REGEXP '[456]';

“[^字符集合]”匹配不在指定集合中的任何字符

SELECT * FROM fruits WHERE f_id REGEXP '[^a-e1-2]';
SELECT * FROM fruits WHERE f_name REGEXP 'x{2,}';
SELECT * FROM fruits WHERE f_name REGEXP 'ba{1,3}';

【例.68】在fruits表中,查询f_name字段以字母‘b'开头的记录

SELECT * FROM fruits WHERE f_name REGEXP '^b';

【例.69】在fruits表中,查询f_name字段以“be”开头的记录

SELECT * FROM fruits WHERE f_name REGEXP '^be';

【例.70】在fruits表中,查询f_name字段以字母‘t'结尾的记录

SELECT * FROM fruits WHERE f_name REGEXP 'y$';

【例.71】在fruits表中,查询f_name字段以字符串“rry”结尾的记录

SELECT * FROM fruits WHERE f_name REGEXP 'rry$';

【例.72】在fruits表中,查询f_name字段值包含字母‘a'与‘g'且两个字母之间只有一个字母的记录

SELECT * FROM fruits WHERE f_name REGEXP 'a.g';

【例.73】在fruits表中,查询f_name字段值以字母‘b'开头,且‘b'后面出现字母‘a'的记录

SELECT * FROM fruits WHERE f_name REGEXP '^ba*';

【例.74】在fruits表中,查询f_name字段值以字母‘b'开头,且‘b'后面出现字母‘a'至少一次的记录

SELECT * FROM fruits WHERE f_name REGEXP '^ba+';

【例.75】在fruits表中,查询f_name字段值包含字符串“on”的记录

SELECT * FROM fruits WHERE f_name REGEXP 'on';

【例.76】在fruits表中,查询f_name字段值包含字符串“on”或者“ap”的记录

SELECT * FROM fruits WHERE f_name REGEXP 'on|ap';

【例.77】在fruits表中,使用LIKE运算符查询f_name字段值为“on”的记录

SELECT * FROM fruits WHERE f_name LIKE 'on';

【例.78】在fruits表中,查找f_name字段中包含字母o或者t的记录

SELECT * FROM fruits WHERE f_name REGEXP '[ot]';

【例.79】在fruits表,查询s_id字段中数值中包含4、5或者6的记录

SELECT * FROM fruits WHERE s_id REGEXP '[456]';

【例.80】在fruits表中,查询f_id字段包含字母a到e和数字1到2以外的字符的记录

SELECT * FROM fruits WHERE f_id REGEXP '[^a-e1-2]';

【例.81】在fruits表中,查询f_name字段值出现字符串‘x'至少2次的记录

SELECT * FROM fruits WHERE f_name REGEXP 'x{2,}';

【例.82】在fruits表中,查询f_name字段值出现字符串“ba”最少1次,最多3次的记录

SELECT * FROM fruits WHERE f_name REGEXP 'ba{1,3}';

希望本文所述对大家MySQL数据库计有所帮助。

以上就是本次给大家分享的全部知识点内容总结,大家还可以在下方相关文章里找到详解vue axios封装请求状态、 vue项目中使用md5加密以及、 解决axios.interceptors.respon、 等mysql文章进一步学习,感谢大家的阅读和支持。

上一篇:没有了

下一篇:windows server2014 安装 Mysql Applying Security出错的简单解决方法

展开 +

收起 -

学习笔记
网友NO.697271

mysql基于正则实现模糊替换字符串的方法分析

本文实例讲述了mysql基于正则实现模糊替换字符串的方法。分享给大家供大家参考,具体如下: 例如: abcd(efg)hijk 替换之后是abcdhijk 复制代码 代码如下: update tabaleA set name = replace(name, substring(name, locate('contact', name),locate('/contact', name)-locate('contact'+10, name)),''); 执行之后,报错: Truncated incorrect DOUBLE value 解决办法,经过查询发现是 concat(Str,'') 函数错误问题,有的DB支持+操作符,而有的就不可以必须使用 concat 函数。 将SQL修改如下: 复制代码 代码如下: update t_global_project set name = replace(name, substring(name, locate('contact', name),locate('/contact', name)-locate(concat('contact','10'), name)),''); PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http://tools.jb51.net/regex/javascript 正则表达式在线生成工具: http://tools.jb51.net/regex/create_reg 更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》及《MySQL数据库锁相关技巧汇总》 希望本文所述对大家MySQL数据库计有所帮助。 ……

网友NO.677221

详解MySql基本查询、连接查询、子查询、正则表达查询

查询数据指从数据库中获取所需要的数据。查询数据是数据库操作中最常用,也是最重要的操作。用户可以根据自己对数据的需求,使用不同的查询方式。通过不同的查询方式,可以获得不同的数据。MySQL中是使用SELECT语句来查询数据的。在这一章中将讲解的内容包括。 1、查询语句的基本语法 2、在单表上查询数据 3、使用聚合函数查询数据 4、多表上联合查询 5、子查询 6、合并查询结果 7、为表和字段取别名 8、使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: create table STUDENT( STU_ID int primary KEY, STU_NAME char(10) not null, STU_AGE smallint unsigned not null, STU_SEX char(2) not null ); insert into STUDENT values(2001,'小王',13,'男'); insert into STUDENT values(2002,'明明',12,'男'); insert into STUDENT values(2003,'红红',14,'女'); insert into STUDENT values(2004,'小花',13,'女'); insert into STUDENT values(2005,'天儿',15,'男'); insert into STUDENT values(2006,'阿猎',13,'女'); insert into STUDENT values(2007,'阿猫',16,'男'); insert into STUDENT values(2008,'阿狗',17,'男'); insert into STUDENT values(2009,'黑子',14,'男'); insert into STUDENT values(2010,'小玉',13,'女'); insert into STUDENT values(2011,'头头',13,'女'); insert into STUDENT values(2012,'冰冰',14,'女'); insert into STUDENT values(2013,'美丽',13,'女'); insert into STUDENT values(2014,'神乐',12,'男'……

网友NO.577273

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 都是合法的范围 匹配特殊字……

网友NO.555987

简述MySQL 正则表达式

我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。 MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。 如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似。 下表中的正则模式可应用于 REGEXP 操作符中。 实例 了解以上的正则需求后,我们就可以更加自己的需求来编写带有正则表达式的SQL语句。以下我们将列出几个小实例(表名:person_tbl )来加深我们的理解: 查找name字段中以'st'为开头的所有数据: mysql SELECT name FROM person_tbl WHERE name REGEXP '^st'; 查找name字段中以'ok'为结尾的所有数据: mysql SELECT name FROM person_tbl WHERE name REGEXP 'ok$'; 查找name字段中包含'mar'字符串的所有数据: mysql SELECT name FROM person_tbl WHERE name REGEXP 'mar'; 查找name字段中以元音字符开头或以'ok'字符串结尾的所有数据: mysql SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$'; 以上所述是小编给大家介绍的MySQL 正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持! ……

<
1
>

Copyright 2018-2019 xz577.com 码农之家

版权责任说明