2024年5月31日发(作者:)

mysql like的用法

MySQL是一种常用的关系型数据库管理系统,它支持多种查询语

句,其中包括LIKE关键字。LIKE关键字可以用于模糊查询,即在查

询时可以使用通配符匹配字符串中的某一部分。本文将详细介绍

MySQL LIKE关键字的用法,包括通配符的使用和注意事项等方面。

一、LIKE关键字的基本用法

在MySQL中,LIKE关键字可以用于WHERE子句中,用于模糊匹

配字符串。其基本语法如下:

SELECT column1, column2, ...

FROM table_name

WHERE columnN LIKE pattern;

其中,column1、column2等是要查询的列名,table_name是要

查询的表名,columnN是要匹配的列名,pattern是要匹配的模式。

例如,我们要查询名字中包含“Tom”的学生信息,可以使用如下SQL

语句:

SELECT * FROM students WHERE name LIKE '%Tom%';

其中,%是通配符,表示匹配任意字符。所以,上述SQL语句会

查询出名字中包含“Tom”的所有学生信息。

二、通配符的使用

在MySQL中,LIKE关键字支持三种通配符,分别是%、_和[]。

下面分别介绍它们的用法。

1. %通配符

- 1 -

%通配符表示匹配任意字符,可以出现在模式的开头、结尾或中

间。例如,要查询名字以“Tom”开头的学生信息,可以使用如下SQL

语句:

SELECT * FROM students WHERE name LIKE 'Tom%';

其中,%出现在模式的结尾,表示匹配以“Tom”开头的任意字符

串。同样地,如果要查询名字以“Tom”结尾的学生信息,可以使用

如下SQL语句:

SELECT * FROM students WHERE name LIKE '%Tom';

其中,%出现在模式的开头,表示匹配以“Tom”结尾的任意字符

串。如果要查询名字中包含“Tom”的学生信息,可以使用如下SQL

语句:

SELECT * FROM students WHERE name LIKE '%Tom%';

其中,%出现在模式的开头和结尾,表示匹配任意包含“Tom”的

字符串。

2. _通配符

_通配符表示匹配单个字符,可以出现在模式的任意位置。例如,

要查询名字为“Tom”且年龄为20岁的学生信息,可以使用如下SQL

语句:

SELECT * FROM students WHERE name LIKE 'Tom_' AND age=20;

其中,_出现在模式的结尾,表示匹配以“Tom”开头且名字长度

为4的学生信息。

3. []通配符

- 2 -

[]通配符表示匹配指定范围内的字符,可以出现在模式的任意位

置。例如,要查询名字中包含a、b或c的学生信息,可以使用如下

SQL语句:

SELECT * FROM students WHERE name LIKE '%[abc]%';

其中,[]包含a、b和c,表示匹配任意包含a、b或c的字符串。

如果要查询名字中不包含a、b或c的学生信息,可以使用如下SQL

语句:

SELECT * FROM students WHERE name LIKE '%[^abc]%';

其中,^表示否定,表示不包含a、b或c的字符串。

三、注意事项

在使用LIKE关键字时,需要注意以下几点:

1. LIKE关键字是大小写敏感的,即LIKE、like和Like是不同

的。

2. LIKE关键字的性能较差,尤其是在模式使用通配符时,会降

低查询效率。因此,在使用LIKE关键字时,应尽可能避免使用通配

符,或者使用索引来提高查询效率。

3. 在使用通配符时,应尽可能缩小匹配范围,以减少不必要的

查询,从而提高查询效率。

4. 在使用[]通配符时,应注意特殊字符的转义,如%、_、^等。

总结

本文介绍了MySQL LIKE关键字的用法,包括通配符的使用和注

意事项等方面。在实际应用中,我们应根据实际情况选择合适的通配

- 3 -

符,以达到更好的查询效果。同时,我们也应尽可能避免使用通配符,

以提高查询效率。

- 4 -