MySQL 中的 LIKE 和 NOT LIKE

在MySQL中,LIKE和NOT LIKE是用于搜索数据库中匹配特定模式的数据的操作符。它们通常与%和_通配符一起使用,用来表示任意字符或单个字符的占位符。在本文中,我们将详细介绍LIKE和NOT LIKE操作符的用法,以及示例代码和运行结果。
LIKE 操作符
LIKE操作符用于在数据库中搜索与指定模式匹配的数据。你可以使用%通配符表示任意字符,或者使用_通配符表示单个字符。例如,如果你想要查找所有以”J”开头的名字,可以使用以下查询:
SELECT * FROM users WHERE name LIKE 'J%';
这将返回所有名字以”J”开头的用户。
另外,你也可以在模式中使用%通配符来表示任意字符的占位符。例如,如果你想要查找所有包含”son”这个字串的用户名,可以使用以下查询:
SELECT * FROM users WHERE name LIKE '%son%';
这将返回所有用户名中包含”son”的用户。
NOT LIKE 操作符
NOT LIKE操作符与LIKE操作符相反,它用于在数据库中搜索与指定模式不匹配的数据。例如,如果你想要查找所有不包含”admin”这个字串的用户名,可以使用以下查询:
SELECT * FROM users WHERE name NOT LIKE '%admin%';
这将返回所有用户名中不包含”admin”的用户。
示例代码和运行结果
假设我们有一个名为users的表,其中包含以下数据:
| id | name |
|---|---|
| 1 | John Doe |
| 2 | Jane Smith |
| 3 | Admin123 |
| 4 | Tom Johnson |
| 5 | Sarah Adams |
现在,我们来演示如何使用LIKE和NOT LIKE操作符来搜索数据。首先,让我们查找所有以”J”开头的名字:
SELECT * FROM users WHERE name LIKE 'J%';
运行结果如下:
| id | name |
|---|---|
| 1 | John Doe |
| 2 | Jane Smith |
接下来,让我们查找所有包含”son”这个字串的用户名:
SELECT * FROM users WHERE name LIKE '%son%';
运行结果如下:
| id | name |
|---|---|
| 2 | Jane Smith |
| 4 | Tom Johnson |
最后,让我们查找所有不包含”admin”这个字串的用户名:
SELECT * FROM users WHERE name NOT LIKE '%admin%';
运行结果如下:
| id | name |
|---|---|
| 1 | John Doe |
| 2 | Jane Smith |
| 4 | Tom Johnson |
| 5 | Sarah Adams |
通过以上示例代码和运行结果,你可以了解LIKE和NOT LIKE操作符在MySQL中的用法。
总之,LIKE和NOT LIKE操作符是在MySQL中进行搜索数据时非常有用的工具,通过结合通配符的使用,你可以更精确地筛选出满足特定模式的数据。
极客笔记