加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_运城站长网 (https://www.0359zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL 通配符

发布时间:2022-12-02 12:48:59 所属栏目: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]');
  输出
 

(编辑:开发网_运城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!