MySQL RegExp 用于提取仅包含特定数量单词的记录


为此,在 MySQL 中使用正则表达式,语法如下 −

select * from yourTableName where yourColumnName regexp '\land[\land ]+[ ]+[\land ]+$';

当两个单词之间用空格分开时,上述查询将起作用。我们先创建一个表 −

mysql> create table DemoTable1412
   -> (
   -> Name varchar(40)
   -> );
Query OK, 0 rows affected (0.52 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1412 values('John Adam Carol');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1412 values('Mike Sam');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1412 values('Chris James Robert');
Query OK, 1 row affected (0.15 sec)

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable1412;

这将产生以下输出 −

+--------------------+
| Name               |
+--------------------+
| John Adam Carol    |
| Mike Sam           |
| Chris James Robert |
+--------------------+
3 rows in set (0.00 sec)

以下是如何查询特定行是否包含两个用空格分隔的单词 −

mysql> select * from DemoTable1412 where Name regexp '\land[\land ]+[ ]+[\land ]+$';

这将产生以下输出 −

+----------+
| Name     |
+----------+
| Mike Sam |
+----------+
1 row in set (0.00 sec)

更新于: 2019 年 12 月 16 日

155 次浏览

开启您的职业生涯

完成课程获取认证

开始
广告