MySQL正则表达式查询

MySQL正则表达式查询

Mysql中的查询模糊查询可以使用like,但是like关键字依旧缺乏灵活性,对于需要更加灵活的查询可以使用正则表达式。

 

create table fruit (
  name varchar(25) not null
) engine=INNODB;
insert into fruit(name) values ('apple'), ('banana'), ('blackberry'), ('berry'), ('cherry'), ('xbabay');

查询以a开头的水果

^表示开头

 

select * from fruit where name regexp '^a';

 

查询以y结尾的水果

$表示结尾

 

select * from fruit where name regexp 'y$';

 

查询以a开头以e结尾,中间有3个字符的水果

.表示一个字符

 

select * from fruit where name regexp '^a...e$';

 

使用*和+匹配多个字符

*表示前面的字符出现0次或多次,+表示前面的字符出现1次或多次

select * from fruit where name regexp '^ba*';

 

select * from fruit where name regexp '^ba+';

 

 

使用[]匹配任意一个字符

select * from fruit where name regexp '[br]';

 

使用{n,}或者{n,m}指定字符串连续出现的次数

{n,}表示出现n次到多次

{n, m}表示出现n次到m次

 

select * from fruit where name regexp 'r{2,}';

 

 

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读