MySQL 正则表达式

MySQL 正则表达式

你已经了解了使用 LIKE …% 进行MySQL模式匹配。MySQL还支持基于正则表达式和 REGEXP 操作符的另一种模式匹配操作。如果你熟悉PHP或PERL,那么这对你来说非常简单,因为这种匹配与这些脚本中的正则表达式相同。

以下是可以与 REGEXP 操作符一起使用的模式表。

模式 匹配的内容
^ 字符串的开头
$ 字符串的结尾
. 任意单个字符
[...] 方括号中列出的任意字符
[^...] 不在方括号中列出的任意字符
p1|p2|p3 选择;匹配任意一个模式p1、p2或p3
* 前一个元素的零个或多个实例
\+ 前一个元素的一个或多个实例
{n} 前一个元素的n个实例
{m,n} 前一个元素的m到n个实例

示例

现在根据上表,您可以编写各种类型的SQL查询以满足您的需求。这里,我列出了一些供您理解。

考虑我们有一个名为 person_tbl 的表,它有一个名为 name 的字段−

查找所有以 ‘st’ 开头的姓名的查询−

mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';

查询所有以 ‘ok’ 结尾的名称

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'ok$';

查找所有包含名字为 ‘mar’ 的查询结果−

mysql> SELECT name FROM person_tbl WHERE name REGEXP 'mar';

查询以元音开头,以 ‘ok’ 结尾的所有名称

mysql> SELECT FirstName FROM intque.person_tbl WHERE FirstName REGEXP '^[aeiou].*ok$';

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程