MySQL LIKE 运算符用于对表执行模糊搜索。LIKE 运算符使用通配符来提取与指定模式匹配的记录。
例如,如果您忘记了产品拼写或描述,那么可以使用 LIKE 运算符的通配符来查找匹配的记录。以下是支持的通配符。
| 通配符 | 描述 |
|---|---|
| % | 使用此项匹配零个或多个字符。 |
| _ | 使用此项精确匹配一个字符。 |
在我们深入了解 LIKE 运算符示例中的通配符之前,让我先向您展示其语法。
MySQL Like 运算符语法
此通配符的语法是
SELECT Columns
FROM Table
WHERE Column_Name LIKE Wildcard_Expression ESCAPE 'escape_charcater'
通配符表达式可能包含 % 或 _。如果您想转义任何特殊字符,请使用默认的 \ 或任何字符。如果您使用除 \ 之外的字符,则在 ESCAPE 关键字后指定该字符。对于此 LIKE 运算符的演示,我们将使用下面显示的数据。

MySQL Like 运算符通配符 % 示例
通配符 % (百分号) 表示零个或多个字符。例如,下面的 % 通配符查询返回所有名字以字母 R 开头的员工。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE `First Name` LIKE 'R%';

此通配符查询示例显示了职业以字母 L 结尾的员工。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Occupation LIKE '%l';

多个值示例 2
以下 LIKE 多个值查询选择学历以字母 B 开头并以 s 结尾的员工。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Qualification LIKE 'B%s';

此多值示例查询返回学历在任何位置包含 d 和 e 的客户。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Qualification LIKE '%d%e';

MySQL Like 通配符 _ 运算符示例
通配符下划线符号 (_) 表示单个字符。例如,以下查询选择学历第二个字母为 a 的员工。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Qualification LIKE '_a%';

此查询显示了学历第二个字母是 a 且第四个字母是 t 的客户。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE Qualification LIKE '_a_t%';

下面的查询显示了姓氏至少有六个字符的员工。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE `Last Name` LIKE N'_%_%_%_%_%_%';

Like 转义示例
到目前为止,我们已经看到了用于显示一个或多个字符的通配符。但是,如果您的列包含一些特殊字符,例如 _、% 或 $,则必须使用转义字符。为此,我们将使用下面显示的数据。

从上面的截图中可以看出,我们的数据在“名字”列中包含 _ 和 % 符号。在 MySQL Like 运算符中,\ 是转义任何特殊字符的默认转义字符。
例如,以下查询使用 \ 转义名字中的 _。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE FirstName LIKE '%\_%';

您还可以使用 ESCAPE 关键字将自己的字符用作转义字符。下面所示的 Like 转义查询使用 # 作为转义字符来跳过 _ 符号。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE FirstName LIKE '%#_%' ESCAPE '#';

这次我们使用 $ 作为转义字符来转义“电子邮件地址”列中的 @ 符号。
SELECT EmpID,
`First Name`,
`Last Name`,
Qualification,
Occupation,
Income,
Sales,
HireDate
FROM customer
WHERE EmailAddress LIKE '%$@%' ESCAPE '$';

以下查询转义了“名字”中的 % 符号。
SELECT CustomerKey,
FirstName,
LastName,
BirthDate,
EmailAddress,
`Yearly Income`,
Profession
FROM customer12
WHERE FirstName LIKE '%\%%';

Like 通配符命令提示符示例
这只是一个示例,向您展示命令提示符中的 Like 运算符。
