WHERE 列名 REGEXP ‘条件’;
– 1. 字符 ‘^’ 查询以特定字符或字符串开头的记录;
– 查询在 msg 表中 name 列中以 d 开头的所有数据;
SELECT * FROM msg WHERE name REGEXP ‘^d’;
– 2. 字符 ‘ ′查询以特定字符或字符串结尾的记录;–查询表msg中name字段以f结束的所有数据;SELECT∗frommsgWHEREnameREGEXP‘f ’;
– 查询表 msg 中 name 字段以 c 开始,以 h 结束的所有数据;
SELECT * FROM msg WHERE name REGEXP ‘^c’ AND name REGEXP ‘h$’;
– 3. 用符号 ‘.’ 来代替字符串中的任意一个字符,’.’ 相当于是一个占位符,表示两字字符之间有’.’个数的字符
– 查询表 msg 中 name 字段中 v 和 d 之间有四个字符的数据;
SELECT * FROM msg WHERE name REGEXP ‘v….d’;
– 4. 使用“”匹配多个字符 ;其中 表示字符出现了0次或以上
SELECT * FROM msg WHERE name REGEXP ‘d*’;
– 查询查询表 msg 中 name 字段中以 f 字段开始,d出现0次或以上的数据;
SELECT * FROM msg WHERE name REGEXP ‘^fd*’;
– 5. 用字符“+”表示紧跟的字符
– 查询查询表 msg 中 name 字段中所有含有 j 的数据;
SELECT * FROM msg WHERE name REGEXP ‘j+’;
– 查询查询表 msg 中 name 字段中以 b 开始并紧跟 v 的数据;
SELECT * FROM msg WHERE name REGEXP ‘^bv+’;
– 6. “|” 分隔条件匹配指定字符串
– 查询查询表 msg 中 age 字段中含有 2 或者 3 的数据
SELECT * FROM msg WHERE age REGEXP ‘2|3’;
– 7. “[]” 表示集合匹配指定字符串中的任意一个
– 查询查询表 msg 中 name 字段中含有 s 或者 v 的数据[]中如果写区间则用-隔开,如a到z则用[a-z]表示
SELECT * FROM msg WHERE name REGEXP ‘[sv]’;
– 8. “[^]”匹配指定字符以外的字符
– 查询查询表 msg 中 name 字段中不含有 a-z 和 1-9 的数据
SELECT * FROM msg WHERE name REGEXP ‘[^a-z1-9]’;
– 9. 使用{n} 或 {n,m} 来指定字符串连接出现的次数,{n}表示出现的最少次数,{n,m}n表示出现的最少次数,m表示出现的最多次数
– 查询查询表 msg 中 name 字段中 d 最少出现1次,最多出现3次的数据
SELECT * FROM msg WHERE name REGEXP ‘d{1,3}’;