MySql教程
MySql用户管理
MySQL数据库
MySql表格和视图
MySQL查询
MySQL索引
MySQL子句
MySQL授权
MySql控制流
MySQL条件
MySQL连接
MySQL键
MySQL触发器
MySQL聚合函数
MySQL常用
MySQL正则表达式
MySql差异性

MySQL 通配符

MySQL中的通配符是使我们能够非常轻松快捷地从表中 搜索复杂数据的字符。它通过替换一个或多个字符来与字符串配合使用,并在将字符串匹配到表中之后产生结果。
通常,我们使用两个字符串,其中两个字符串中的每个字符在给出输出。在通配符中,它们提供了灵活性,可以在一个字符串中使用单个字符或一组字符,而另一个字符串可以接受。
MySQL 将通配符与 Like NOT LIKE 比较运算符结合使用。 LIKE运算符与 WHERE子句一起使用,以查找列中指定模式的结果。

通配符的优点

MySQL具有通配符的以下优点:
它提高了应用程序的性能。 它节省了从表中过滤记录的时间。 它使非常简单,快速地将复杂查询变成简单查询。 它使我们能够将强大的搜索引擎开发到大型数据驱动的应用程序中。

通配符的类型

以下是MySQL中常用的通配符类型,可以单独使用,也可以组合使用通配符:
通配符 说明
此符号表示零个或多个字符。
_ 此符号用于完全匹配一个(单个)字符。
现在,我们将通过以下示例了解MySQL中这些通配符的用法:
让我们首先创建一个名为" employee "的表",其中包含以下数据:
MySQL Wildcards

1、百分比符号(%)

它用于从指定0、1或更多字符的表中搜索或过滤记录。我们可以在带有LIKE子句的字符串的首位,最后一位或两端使用它。
语法
使用此通配符是:
SELECT * FROM tab_name WHERE column_name LIKE 'X%';
OR,
SELECT * FROM tab_name WHERE column_name LIKE '%X';
OR,
SELECT * FROM tab_name WHERE column_name LIKE 'X%X';
在以上语法中,' X '指定任何单个字符,而 匹配任意数量的字符。
示例
此语句返回其 城市名称以" F"字符开头的所有员工。
mysql> SELECT * FROM employees WHERE city LIKE 'F%';
它将给出以下输出:
MySQL Wildcards
同样,此语句返回所有员工从城市名称以" a"开始并以" a"字符结束的表中:
mysql> SELECT * FROM employees WHERE city LIKE 'a%a';
成功执行后,我们将得到以下结果:
MySQL Wildcards
此语句返回其X值可以在任何位置的所有员工:
mysql> SELECT * FROM employees WHERE city LIKE '%n%';
它将给出如下输出:
MySQL Wildcards
如果我们想返回所有下表中的城市不以" a"开头且以" a"字符结尾的员工,请执行以下语句:
mysql> SELECT * FROM employees WHERE city NOT LIKE 'a%a';
我们将得到以下结果,我们看到没有城市名称以'a'开头和以'a'字符结尾。
MySQL Wildcards

2、下划线符号(_)

当需要从与任何位置的单个字符完全匹配的表中返回结果时,我们可以使用它。
语法
使用此通配符的基本语法为:
SELECT * FROM tab_name WHERE column_name LIKE 'X_';
OR,
SELECT * FROM tab_name WHERE column_name LIKE '_X';
在上述语法中, 'X '指定任何字符串模式,并且 _ 符号正好匹配一个字符。
示例
此语句返回年龄在40至49岁之间的所有员工:
SELECT * FROM employees WHERE emp_age LIKE '4_';
我们将看到以下结果:
MySQL Wildcards
此语句返回所有员工从其城市名称以任何字符开头的后跟 'lorida'字符的表中:
mysql> SELECT * FROM employees WHERE city LIKE '_lorida';
成功执行后,我们将得到以下结果:
MySQL Wildcards
如果想要返回表中的城市不以任何字符开头的任何雇员,后跟" lorida"字符,请执行以下语句:
mysql> SELECT * FROM employees WHERE city NOT LIKE '_lorida';
出现以下输出:
MySQL Wildcards

组合通配符

我们已经了解到通配符也可以结合使用,下面的示例让我们理解它。
此语句返回名称以X开头并且在至少两个字符的长度:
mysql> SELECT * FROM employees WHERE city LIKE 'a_%_';
我们将获得以下输出:
MySQL Wildcards
这是另一个生成输出所有在 收入列中第二个位置为 '5 '的员工的位置:
mysql> SELECT * FROM employees WHERE income LIKE '_5%';
我们可以获得以下输出:
MySQL Wildcards

3、连字符(-)

当我们需要在一定范围内从表中过滤记录时,该符号用于返回结果。它是通配符的扩展版本,使用了 REGEXP_LIKE()函数。
此语句从employee表中获取其城市包含字母" b"," c",或" d",如下所示:
mysql> SELECT * FROM employees WHERE REGEXP_LIKE(city, '[b-d]');
输出
成功执行后,我们将得到以下结果:
MySQL Wildcards
如果我们要从表中返回城市不包含字母'b','c'或'd'的所有员工,如下所示:
mysql> SELECT * FROM employees WHERE NOT REGEXP_LIKE(city, '[b-d]');
输出
MySQL Wildcards
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4