MySQL模糊查询语句整理集合
在MySQL中,我们经常需要进行模糊查询来查找信息。这篇攻略将介绍MySQL中常用的模糊查询语句,包括LIKE、NOT LIKE、REGEXP等。
LIKE语句
LIKE语句是最常用的模糊查询语句之一。它可以匹配指定模式的字符串。
语法
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
其中,column_name(s)
表示需要查询的列名,table_name
表示查询的表名,pattern
是要匹配的模式。pattern
可以包含百分号(%)和下划线(_),其中百分号表示零个或多个字符,下划线表示一个字符。
示例
假设我们有一张名为employees
的表,包含id
、name
和salary
三列,我们需要查询所有名字以P开头的员工的信息。
SELECT * FROM employees WHERE name LIKE 'P%';
运行结果:
id | name | salary |
---|---|---|
1 | Peter Parker | 5000 |
4 | Paul Johnson | 6000 |
NOT LIKE语句
NOT LIKE语句是用来查询不匹配指定模式的字符串的。
语法
SELECT column_name(s) FROM table_name WHERE column_name NOT LIKE pattern;
其中,column_name(s)
表示需要查询的列名,table_name
表示查询的表名,pattern
是要不匹配的模式。pattern
可以包含百分号(%)和下划线(_),其中百分号表示零个或多个字符,下划线表示一个字符。
示例
假设我们有一张名为employees
的表,包含id
、name
和salary
三列,我们需要查询所有名字不以P开头的员工的信息。
SELECT * FROM employees WHERE name NOT LIKE 'P%';
运行结果:
id | name | salary |
---|---|---|
2 | Mary Smith | 4000 |
3 | John Johnson | 5500 |
REGEXP语句
REGEXP语句是用来查询符合指定正则表达式的字符串的。
语法
SELECT column_name(s) FROM table_name WHERE column_name REGEXP pattern;
其中,column_name(s)
表示需要查询的列名,table_name
表示查询的表名,pattern
是要匹配的正则表达式。
示例
假设我们有一张名为employees
的表,包含id
、name
和salary
三列,我们需要查询所有名字包含m和o两个字母的员工的信息。
SELECT * FROM employees WHERE name REGEXP 'm.*o';
运行结果:
id | name | salary |
---|---|---|
1 | Peter Parker | 5000 |
3 | John Johnson | 5500 |
总结
在MySQL中,我们可以使用LIKE、NOT LIKE和REGEXP语句来进行模糊查询。根据不同匹配需求,选择不同的语句能够提高查询效率,使用正则表达式时还需掌握正则表达式的使用方法和规则。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL模糊查询语句整理集合 - Python技术站