MySQL 正则表达式(待更新……)

  在MySQL中,使用REGEXP关键字来匹配查询正则表达式,其基本形式如下:

    字段名 REGEXP ‘匹配方式‘

  模式字符   含义                         使用举例



  ^      匹配开头                      SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘^php‘;

  $      匹配结尾                      SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘php$‘;

  .       匹配任意一个字符               SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘P.‘;

  [字符集合]    匹配字符集合中的任意一个       SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘[PCA]‘;

  [^字符集合]   匹配字符集合以外的任意一个字符    SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘[^PCA]‘;

  S1|S2|S3    匹配其中的任意一个字符串       SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘php|c|html‘;

  *      匹配多个该符号之前的字符,包括0、1    SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘P*A‘;

  +      匹配多个该符号之前的字符,包括1       SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘P+A‘;

  字符串{N}    匹配字符串出现N次          SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘a{3}‘;

  字符串{M,N}   匹配字符串出现M-N次        SELECT `books` FROM `tb_name` WHERE `books` REGEXP ‘a{3,6}‘;

时间: 2024-10-10 08:26:36

MySQL 正则表达式(待更新……)的相关文章

MYSQL 多表更新 UPDATE SET like concat('%',abc,'%');

SQL语句为:select * from table1 where `text` like CONCAT('%',(select name from table2 where id =3),'%'); UPDATE ecs_region a,nation b SET a.code = b.code where b.province like concat('%',a.region_name,'%'); UPDATE ecs_region a,nation b SET a.code = b.cod

MySQL 正则表达式搜索

products表如下: 1. 基本字符匹配 使用正则表达式与LIKE的区别,正则表达式是在整个列搜索,只要prod_name中包含了所搜索的字符就可以了,而LIKE如果不用通配符,那么要求prod_name与搜索的字符要完全匹配:也就是说下面的例子,需要使用 LIKE 'JetPack 1000'才可以适配搜索到. 2 使用or进行匹配搜索,可以搜索两个条件,也可以连接多个条件: 3 匹配几个字符之一://这个的意思是说,匹配1 Ton 或者 2 Ton 或者 3 Ton 但是如果写成下面这样

mysql正则表达式及应用

mysql where子句的模式匹配 今天在应用中遇到了这样的一个问题,有一个字段 t1,其中的值类似于:1,1,1,2,3,3,4,4,5,5,2,4,3,2,1,2 需要从里面搜索出比如说:第一个逗号前的数字范围为3-5之间,第三个逗号前的数字的范围为3-5之间,第10个逗号前的数字范围为3-5之间,其余的都为1-5之间... 则sql语句可以这么写: SELECT * FROM tb WHERE t1 REGEXP '^[3-5],[1-5],[3-5],[1-5],[1-5],[1-5]

Mysql跨表更新 多表update sql语句总结

Mysql跨表更新一直是大家所关心的话题,本文介绍mysql多表 update在实践中几种不同的写法 假定我们有两张表,一张表为Product表存放产品信息,其中有产品价格列Price:另外一张表是ProductPrice表,我们要将ProductPrice表中的价格字段Price更新为Price表中价格字段的80%. 在Mysql中我们有几种手段可以做到这一点,一种是update table1 t1, table2 ts ...的方式: UPDATE product p, productPri

mysql在线升级更新步骤

mysql在线升级更新步骤 MySQL 问题: mysql使用软件包安装,如何实现在线更新,而不需要拷贝数据库 解决: 使用mysql的in-place upgrade进行更新,本次更新为5.6.40版本,原数据库文件在/alidata/server下面 方法: 首先最好先备份一下数据库,防止更新失败可以还原(当然更新成功就不需要了) mysqldump -u root -p --add-drop-table --all-databases --force > data-for-upgrade.

DB-MySQL:MySQL 正则表达式

ylbtech-DB-MySQL:MySQL 正则表达式 1.返回顶部 1. MySQL 正则表达式 在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配. MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配. 如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似. 下表中的正则模式可应用于 REGEXP 操作符中. 模式 描述 ^ 匹配输入字符串的开始位置.如果设置了

使用MySQL正则表达式 __MySQL必知必会

正则表达式作用是匹配方本,将一个模式(正则表达式)与一个文本串进行比较. MySQL用WHERE子句对正则表达式提供了初步的支持,允许你指定用正则表达式过滤SELECT检索出的数据. MySQL仅支持多数正则表达式实现的一个很小的子集. ---------------------- 9.2.1  基本字符匹配 REGEXP后所跟的东西作为正则表达式处理. SELECT prod_nameFROM productsWHERE prod_name REGEXP '1000'ORDER BY prod

MySQL 正则表达式

在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配. MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配. 如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正则表达式匹配与这些脚本的类似. 下表中的正则模式可应用于 REGEXP 操作符中. 模式 描述 ^ 匹配输入字符串的开始位置.如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置. $

5 详解MySQL数据库之更新语句

用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的 SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之 意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE.在MySQL中又多了一个REPLACE语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句. 一.INSERT和REPLACE INSERT和REPLACE语句的功能都是向表中插入新的数据.这两条语句的语法类似.它们的主要区别是如何处理重复的数据