#补充：使用正则表达式查询
#1、查询以特定字符或字符串开头的记录
#字符“^”匹配以特定字符或者字符串开头的文本。
#例：查询employees表中last_name字段值以字母'b'开头的记录
SELECT *
FROM employees
WHERE last_name REGEXP '^b';

#2、查询以特定字符或字符串结尾的记录
#字符“$”匹配以特定字符或者字符串结尾的文本。
#例：查询employees表中last_name字段值以字母“y”结尾的所有信息。
SELECT *
FROM employees
WHERE last_name REGEXP 'y$';

#3、用符号“.”来替代字符串中的任意一个字符
#字符“.”匹配任意一个字符。
#例：查询employees表中last_name字段值包含字母“a”与“k”且两个字母之间只有一个字母的记录。
SELECT *
FROM employees
WHERE last_name REGEXP 'a.k';

#4、使用“*”和“+”来匹配多个字符
#星号“*”匹配前面的字符任意多次，包括0次。加号“+”匹配前面的字符至少一次。
#例1：查询employees表中last_name字段值以字母“b”开头且“b”后面出现字母“a”的记录
SELECT *
FROM employees
WHERE last_name REGEXP '^ba*';

#例2：查询employees表中last_name字段值以字母“b”开头且“b”后面出现字母“a”至少一次的记录
SELECT *
FROM employees
WHERE last_name REGEXP '^ba+';

#5、匹配指定字符串
#正则表达式可以匹配指定字符串，只要这个字符串在查询文本中即可，
#如要匹配多个字符串，多个字符串直接使用分隔符“|”隔开。
#例1：查询employees表中last_name字段值包含字符串“on”的记录。
SELECT *
FROM employees
WHERE last_name REGEXP 'on';

#例2：查询employees表中last_name字段值包含字符串“on”或者“no”的记录。
SELECT *
FROM employees
WHERE last_name REGEXP 'on|no';#“on|no”之间不能有空格。

#6、匹配指定字符中的任意一个
#例：查询employees表中last_name字段值包含字母“o”或者“t”的记录。
SELECT *
FROM employees
WHERE last_name REGEXP '[ot]';

#7、匹配指定字符以外的字符
#“[^字符集合]”匹配不在指定集合中的任何字符。
#例1：查询employees表中last_name字段值包含字母“a~e”以外的记录。
SELECT *
FROM employees
WHERE last_name REGEXP '[^a-e]';

#例2：查询employees表中last_name字段值包含字母“a~z”以外的记录。
SELECT *
FROM employees
WHERE last_name REGEXP '[^a-z]';

SELECT 'desk'
FROM DUAL
WHERE 'desk' REGEXP '[^abcd]';

#8、使用{n,}或者{n,m}来指定字符串连续出现的次数
#“字符串{n,}”表示至少匹配n次前面的字符串；“字符串{n,m}”表示匹配前面的字符串
#不少于n此，不多于m次。例如，“a{2,}”表示字母a练习出现至少2次，也可以大于
#2次；“a{2,4}”表示字符a连续出现最少2次，最多不能超过4次。
#例1：查询employees表中last_name字段值出现字母“a”至少2次的记录。
SELECT *
FROM employees
WHERE last_name REGEXP 'a{2,}';

#例2：查询employees表中last_name字段值出现字母“a”最少1次、最多3次的记录。
SELECT *
FROM employees
WHERE last_name REGEXP 'a{1,3}';

















