MySQL查询仅显示包含单个单词的记录?

为此,您可以基于LIKE过滤记录。让我们首先创建一个表-

mysql> create table DemoTable
(
   Name varchar(50)
);

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

mysql> insert into DemoTable values('John Smith');
mysql> insert into DemoTable values('John');
mysql> insert into DemoTable values('Adam Smith');
mysql> insert into DemoTable values('Carol');
mysql> insert into DemoTable values('David Miller');

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

mysql> select *from DemoTable;

这将产生以下输出-

+--------------+
| Name         |
+--------------+
| John Smith   |
| John         |
| Adam Smith   |
| Carol        |
| David Miller |
+--------------+
5 rows in set (0.00 sec)

以下是显示包含单个单词的记录的查询。这里使用NOT LIKE来排除多于一个单词的记录,即NOT LIKE'%%'-

mysql> select *from DemoTable where Name not like '% %';

这将产生以下输出-

+-------+
| Name  |
+-------+
| John  |
| Carol |
+-------+
2 rows in set (0.00 sec)