Mysql基础教程(08):LIKE

MySQL LIKE 用法与实例

本文介绍了在 MySQL 中如何使用 LIKE 运算符查询匹配指定模式的数据。

在 MySQL 中, LIKE 运算符可以根据指定的模式过滤数据。LIKE 运算符一般用于模糊匹配字符数据。

MySQL LIKE语法

LIKE 运算符是一个双目比较运算符,需要两个操作数。 LIKE 运算符语法如下:

expression LIKE pattern

说明:

  • expression 可以是一个字段名、值或其他的表达式(比如函数调用、运算等)。
  • pattern 是一个字符串模式。MySQL 字符串模式支持两个通配符: % 和 _。
    • % 匹配零或多个任意字符。
    • _ 匹配单个任意字符。
    • 如果需要匹配通配符,则需要使用 \ 转义字符,如 % 和 _。
    • 使用通配符匹配文本时,不区分字母大小写。
  • 如果 expression 与 pattern 匹配,LIKE 运算符返回 1,否则返回 0。

比如:

  • a% 匹配以字符 a 开头的任意长度的字符串。
  • %a 匹配以字符 a 结尾的任意长度的字符串。
  • %a% 匹配包含字符 a 的任意长度的字符串。
  • %a%b% 匹配同时包含字符 a 和 b 且 a 在 b 前面的任意长度的字符串。
  • a_ 匹配以字符 a 开头长度为 2 字符串。
  • _a 匹配以字符 a 结尾长度为 2 字符串。

MySQL LIKE运算规则

LIKE 运算符用于模糊匹配字符串数据。它的运算规则如下:

  • 当 LIKE 运算符左侧的操作数与右侧的模式匹配时,返回 1。否则,返回 0。
SELECT 'a' LIKE 'a', 'a' LIKE 'a%', 'ab' LIKE 'a%', 'ab' LIKE '%a';
+--------------+---------------+----------------+----------------+
| 'a' LIKE 'a' | 'a' LIKE 'a%' | 'ab' LIKE 'a%' | 'ab' LIKE '%a' |
+--------------+---------------+----------------+----------------+
|            1 |             1 |              1 |              0 |
+--------------+---------------+----------------+----------------+
SELECT 'a' LIKE 'a_', 'ab' LIKE 'a_', 'abc' LIKE 'a_';
+---------------+----------------+-----------------+
| 'a' LIKE 'a_' | 'ab' LIKE 'a_' | 'abc' LIKE 'a_' |
+---------------+----------------+-----------------+
|             0 |              1 |               0 |
+---------------+----------------+-----------------+
  • 如果 LIKE 运算符的两个操作数中任意一个为 NULL 时,返回 NULL。
SELECT NULL LIKE 'a%', 'a' LIKE NULL;
+----------------+---------------+
| NULL LIKE 'a%' | 'a' LIKE NULL |
+----------------+---------------+
|           NULL |          NULL |
+----------------+---------------+

MySQL LIKE实例

使用 % 号匹配结尾

  • 查询姓的学生信息
SELECT * FROM students WHERE name LIKE '周%';
+------------+--------+------+--------+
| student_id | name   | age  | gender |
+------------+--------+------+--------+
| 003        | 周易   |   18 ||
| 007        | 周末离 |   18 ||
| 009        | 周一   |   18 ||
+------------+--------+------+--------+
3 rows in set (0.06 sec)

使用 _ 匹配单个字符

  • 查询姓名字为单字的学生信息:
SELECT * FROM students WHERE name LIKE '周_';
+------------+------+------+--------+
| student_id | name | age  | gender |
+------------+------+------+--------+
| 003        | 周易 |   18 ||
| 009        | 周一 |   18 ||
+------------+------+------+--------+
2 rows in set (0.00 sec)

使用 % 匹配包含字符

  • 查询名字中包含的学生信息
SELECT * FROM students WHERE name LIKE '%总%';
+------------+--------+------+--------+
| student_id | name   | age  | gender |
+------------+--------+------+--------+
| 006        | 李总结 |   19 ||
+------------+--------+------+--------+
1 row in set (0.00 sec)

NOT LIKE

一下SQL语句使用NOT运算符与LIKE运算符从students表中检索名字不以开头的学生信息:

SELECT * FROM students WHERE name NOT LIKE '周%';
+------------+--------+------+--------+
| student_id | name   | age  | gender |
+------------+--------+------+--------+
| 001        | 丁一   |   18 ||
| 002        | 战书   |   19 ||
| 004        | 赵云   |   20 ||
| 005        | 解放   |   18 ||
| 006        | 李总结 |   19 ||
| 008        | 谢村花 |   18 ||
| 010        | 刘星   |   19 ||
| 011        | 夏雨   |   18 ||
| 012        | 夏天   |   18 ||
+------------+--------+------+--------+
9 rows in set (0.01 sec)

结论

本文通过实例介绍了 MySQL 中 LIKE 运算符的语法和用法。 LIKE 运算符的用法要点如下:

  • LIKE 运算符是双目运算符。
  • LIKE 运算符来文本值是否与指定的文本模式匹配。
  • % 通配符匹配零个或多个任意字符。
  • _ 通配符匹配单个任意字符。
  • 使用通配符匹配文本时,不区分字母大小写。
  • 当通配字符想要作为普通字符时,使用转义字符 (\) 进行转义。
  • 使用 NOT 运算符来否定 LIKE 运算符。
  • 借助通配符,可以匹配文本开头、文本结尾、包含字符串等。

⬅️ Mysql基础教程(07):BETWEEN

Mysql基础教程(09):ORDER BY →

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MySQL 是一种开源的关系型数据库管理系统,用于存储和管理大量数据。下面是一个简单的 MySQL 基础教程: 1. 安装 MySQL:首先,你需要下载和安装 MySQL。你可以从 MySQL 官方网站(https://www.mysql.com/)上下载适合你操作系统的安装程序,并按照安装向导进行安装。 2. 启动和连接 MySQL:安装完成后,你可以启动 MySQL 服务器。在命令行中输入 `mysql -u 用户名 -p`,然后输入密码以连接到 MySQL。 3. 创建数据库:使用 `CREATE DATABASE 数据库名;` 语句创建一个新的数据库。例如,`CREATE DATABASE mydatabase;` 将创建一个名为 "mydatabase" 的数据库。 4. 使用数据库:使用 `USE 数据库名;` 语句选择要使用的数据库。例如,`USE mydatabase;` 将选择名为 "mydatabase" 的数据库作为当前数据库。 5. 创建表:在选定的数据库中使用 `CREATE TABLE 表名 (列1 数据类型, 列2 数据类型, ...);` 语句创建一个新的表。例如,`CREATE TABLE customers (id INT, name VARCHAR(50), email VARCHAR(50));` 将创建一个名为 "customers" 的表,包含 id、name 和 email 列。 6. 插入数据:使用 `INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);` 语句向表中插入数据。例如,`INSERT INTO customers (id, name, email) VALUES (1, 'John Doe', 'john@example.com');` 将向 "customers" 表中插入一条数据。 7. 查询数据:使用 `SELECT 列1, 列2, ... FROM 表名;` 语句从表中查询数据。例如,`SELECT id, name, email FROM customers;` 将返回 "customers" 表中的所有数据。 8. 更新数据:使用 `UPDATE 表名 SET 列 = 值 WHERE 条件;` 语句更新表中的数据。例如,`UPDATE customers SET email = 'newemail@example.com' WHERE id = 1;` 将更新 "customers" 表中 id 为 1 的数据的 email 列。 9. 删除数据:使用 `DELETE FROM 表名 WHERE 条件;` 语句删除表中的数据。例如,`DELETE FROM customers WHERE id = 1;` 将删除 "customers" 表中 id 为 1 的数据。 这只是 MySQL基础教程,还有很多其他功能和语法可以学习。你可以参考官方文档或其他教程来深入学***

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叁拾舞

你的鼓励将是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值