MySQL 查询检查某一行是否只有两个单词?

mysqlmysqli database

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

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

当两个单词用空格分隔时,上述查询将起作用。让我们首先创建一个 −

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 '^[^ ]+[ ]+[^ ]+$';

这将产生以下输出 −

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

相关文章