数据库学习

2023-11-(07-9) 第四章 补充 正则

2023-11-13  本文已影响0人  大也
  1. 查询以特定字符或字符串开头的记录 字符‘^’匹配以特定字符或者字符串开头的文本。
    SELECT * FROM fruits WHERE f_name REGEXP '^b';

  2. 查询以特定字符或字符串结尾的记录 字符‘’匹配以特定字符或者字符串结尾的文本。 SELECT * FROM fruits WHERE f_name REGEXP 'y';

  3. 用符号"."来替代字符串中的任意一个字符 字符‘.’匹配任意一个字符。 在fruits表中,查询f_name字段值 包含字母‘a’与‘g’且两个字母之间只有一个字母的记录。
    SELECT * FROM fruits WHERE f_name REGEXP 'a.g';

  4. 使用""和"+"来匹配多个字符 星号‘’匹配前面的字符任意多次,包括0次。加号‘+’匹配前面的字符至
    少一次。
    在fruits表中,查询f_name字段值以字母‘b’开头且‘b’后面出现字母‘a’的记录,
    SELECT * FROM fruits WHERE f_name REGEXP '^b*a+'; ??

4.2
在fruits表中,查询f_name字段值以字母‘b’开头且‘b’后面出现字母‘a’至少一次的记录,
SELECT * FROM fruits WHERE f_name REGEXP '^ba+';

  1. 匹配指定字符串 正则表达式可以匹配指定字符串,只要这个字符串在查询文本中即可,如要匹配多个 字符串,多个字符串之间使用分隔符‘|’隔开。
    在fruits表中,查询f_name字段值包含字符串“on”或者“ap”的记录
    SELECT * FROM fruits WHERE f_name REGEXP 'on|ap';

  2. 匹配指定字符中的任意一个 方括号“[]”指定一个字符集合,只匹配其中任何一个字符,即为所查找的 文本。
    在fruits表中,查找f_name字段中包含字母‘o’或者‘t’的记录,
    SELECT * FROM fruits WHERE f_name REGEXP '[ot]';
    查询s_id字段中包含4、5或者6的记录
    SELECT * FROM fruits WHERE s_id REGEXP '[456]';
    字符串试过好像不行!!!

  3. 匹配指定字符以外的字符 “[^字符集合]” 匹配不在指定集合中的任何字符。 在fruits表中,查询f_id字段中包含字母ae和数字12以外字符的记录, SELECT * FROM fruits WHERE f_id REGEXP '[^a-e1-2]';

  4. 使用{n,}或者{n,m}来指定字符串连续出现的次数 “字符串{n,}”表示至少匹配n次前面的字符;“字符串 {n,m}”表示匹配前面的字符串不少于n次,不多于m次。
    查询f_name字段值出现字母‘x’至少2次的记录,
    SELECT * FROM fruits WHERE f_name REGEXP 'x{2,}';
    查询f_name字段值出现字符串“ba”最少1次、最多3次的记录,
    SELECT * FROM fruits WHERE f_name REGEXP 'ba{1,3}';

上一篇 下一篇

猜你喜欢

热点阅读