MySQL 通配符
发布时间:2022-12-02 12:48:59 所属栏目:MySql教程 来源:
导读: MySQL 通配符
MySQL 中的通配符是允许我们非常轻松快速地从表中搜索复杂数据的字符。它通过替换一个或多个字符来处理字符串,并在将字符串匹配到表中后产生结果。
在正常比较中,我们使用两个字
MySQL 中的通配符是允许我们非常轻松快速地从表中搜索复杂数据的字符。它通过替换一个或多个字符来处理字符串,并在将字符串匹配到表中后产生结果。
在正常比较中,我们使用两个字
|
MySQL 通配符 MySQL 中的通配符是允许我们非常轻松快速地从表中搜索复杂数据的字符。它通过替换一个或多个字符来处理字符串,并在将字符串匹配到表中后产生结果。 在正常比较中,我们使用两个字符串,其中两个字符串的每个字符都应该在给出输出之前完全匹配。在通配符中,它们提供了在字符串中使用单个字符或一组字符的灵活性,这对于另一个字符串是可以接受的。 MySQL 将通配符与LIKE或NOT LIKE比较运算符结合使用。LIKE 运算符与 WHERE 子句一起用于查找列中指定模式的结果。 通配符的优点 MySQL 具有以下通配符的优点: 通配符的类型 以下是 MySQL 中使用的常见通配符类型,可以单独使用或组合使用通配符: 序列号通配符说明 1. % 该符号表示零个或多个字符。 2. _ 此符号用于精确匹配一个(单个)字符。 现在,我们将通过以下示例了解这些通配符在 MySQL 中的使用: 让我们首先创建一个名为“ employee ”的表,其中包含以下数据: 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 ' 指定任意单个字符mysql通配符使用,%匹配任意数量的字符。 例子 此语句返回城市名称以“F”字符开头的所有员工。 mysql> SELECT * FROM employees WHERE city LIKE 'F%'; 它将给出以下输出: 同样,此语句从表中返回城市名称以“a”开头并以“a”字符结尾的所有员工: mysql> SELECT * FROM employees WHERE city LIKE 'a%a'; 执行成功后,我们会得到如下结果: 此语句返回 X 值可以在任何位置的所有员工: mysql> SELECT * FROM employees WHERE city LIKE '%n%'; 它将给出如下输出: 如果我们想从表中返回城市不是以'a'开头并以'a'字符结尾的所有员工,请执行以下语句: mysql> SELECT * FROM employees WHERE city NOT LIKE 'a%a'; 我们将得到以下结果,我们可以看到没有以“a”开头并以“a”字符结尾的城市名称。 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_'; 我们将看到如下结果: 此语句从表中返回城市名称以任意字符后跟“lorida”字符的所有员工: mysql> SELECT * FROM employees WHERE city LIKE '_lorida'; 执行成功后,我们会得到如下结果: 如果我们想从表中返回城市不以任何字符后跟“lorida”字符的所有员工,请执行以下语句: mysql> SELECT * FROM employees WHERE city NOT LIKE '_lorida'; 出现以下输出: 组合通配符 我们已经了解到通配符也可以作为两者的组合使用,让我们通过下面的例子来理解它。 此语句返回名称以 X 开头且长度至少为两个字符的所有员工: mysql> SELECT * FROM employees WHERE city LIKE 'a_%_'; 我们将得到以下输出: 这是另一个生成输出的示例,其中所有在收入列中的第二个位置为“5 ”的员工: mysql> SELECT * FROM employees WHERE income LIKE '_5%'; 我们可以得到以下输出: 3. 连字符 (-) 当我们需要从表中过滤一定范围内的记录时,该符号用于返回结果。它是使用REGEXP_LIKE()函数的通配符的扩展版本。 此语句从employees 表中获取包含字母“b”、“c”或“d”的所有记录,如下所示: mysql> SELECT * FROM employees WHERE REGEXP_LIKE(city, '[b-d]'); 输出 执行成功后,我们会得到如下结果: 如果我们想从表中返回所有城市不包含字母“b”、“c”或“d”的员工,如下所示: mysql> SELECT * FROM employees WHERE NOT REGEXP_LIKE(city, '[b-d]'); 输出 (编辑:开发网_运城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐



浙公网安备 33038102330464号