REGEXP 用于检查一个字符串是否匹配指定的正则表达式模式: SELECT column1, column2, ... FROM table_name WHERE column_name REGEXP 'pattern';
.:匹配任意单个字符。 ^:匹配字符串的开始。 $:匹配字符串的结束。 *:匹配零个或多个前面的元素。 +:匹配一个或多个前面的元素。 ?:匹配零个或一个前面的元素。 [abc]:匹配字符集中的任意一个字符。 [^abc]:匹配除了字符集中的任意一个字符以外的字符。 [a-z]:匹配范围内的任意一个小写字母。 [0-9]:匹配一个数字字符。 \w:匹配一个字母数字字符(包括下划线)。 \s:匹配一个空白字符。 实例: 查找 name 字段中以 'st' 为开头的所有数据: mysql>SELECT name FROM person_tbl WHERE name REGEXP '^st'; 查找 name 字段中以 'ok' 为结尾的所有数据: mysql>SELECT name FROM person_tbl WHERE name REGEXP 'ok$'; 查找 name 字段中包含 'mar' 字符串的所有数据: mysql>SELECT name FROM person_tbl WHERE name REGEXP 'mar'; 查找 name 字段中以元音字符开头或以 'ok' 字符串结尾的所有数据: mysql>SELECT name FROM person_tbl WHERE name REGEXP '^[aeiou]|ok$'; 选择订单表中描述中包含 "item" 后跟一个或多个数字的记录。 SELECT*FROM orders WHERE order_description REGEXP 'item[0-9]+'; 使用 BINARY 关键字,使得匹配区分大小写: SELECT*FROM products WHERE product_name REGEXP BINARY'apple'; 使用 OR 进行多个匹配条件,以下将选择姓氏为 "Smith" 或 "Johnson" 的员工记录: SELECT*FROM employees WHERE last_name REGEXP 'Smith|Johnson';