Skip to content

Latest commit

 

History

History
167 lines (112 loc) · 3.18 KB

File metadata and controls

167 lines (112 loc) · 3.18 KB

基本查询语句

查询数据是 MySQL 中最常见的操作,而 SELECT 语句就是数据查询的核心。无论是查看整张表、筛选部分字段,还是按条件查找记录,几乎都离不开 SELECT

SELECT语句的语法

SELECT 的基本语法如下:

SELECT 字段列表
FROM 表名
[WHERE 条件];

其中:

  • SELECT:表示查询
  • 字段列表:表示要查哪些列
  • FROM:表示从哪张表查询
  • WHERE:表示查询条件,可选

例如:

SELECT id, name, mobile
FROM user;

查询所有字段

如果要查看表中的全部字段,可以使用 *

SELECT * FROM user;

这表示返回 user 表中的所有列。

这种写法很方便,但在实际业务中要注意:

  1. 字段很多时会返回不必要的数据
  2. 不利于接口字段控制
  3. 某些场景会增加网络传输和读取成本

因此在正式业务 SQL 中,通常更推荐显式写出需要的字段。

查询指定字段

如果只想查看部分列,可以把字段名写在 SELECT 后面,并用逗号分隔:

SELECT id, name, mobile
FROM user;

也可以给字段起别名:

SELECT id, name AS username, mobile AS phone
FROM user;

别名可以让结果更容易阅读,也适合报表展示和接口输出。

查询指定记录

如果只想查询满足某个条件的记录,需要使用 WHERE

SELECT *
FROM user
WHERE id = 1;

还可以使用多个条件:

SELECT *
FROM user
WHERE age >= 18 AND city = '上海';

WHERE 是查询中最核心的部分之一,常常与比较运算符、逻辑运算符、范围条件、模糊匹配一起使用。

带IN关键字的查询

IN 用于匹配多个可能的值,语义上可以理解为“是否在这个集合中”。

示例:

SELECT *
FROM user
WHERE city IN ('北京', '上海', '深圳');

这条语句表示查询城市为北京、上海或深圳的用户。

如果不用 IN,往往需要写成:

SELECT *
FROM user
WHERE city = '北京' OR city = '上海' OR city = '深圳';

相比之下,IN 更简洁,也更容易阅读。

带BETWEEN AND的范围查询

BETWEEN ... AND ... 用于查询某个范围内的值。

例如查询年龄在 18 到 30 之间的用户:

SELECT *
FROM user
WHERE age BETWEEN 18 AND 30;

也可以用于日期范围查询:

SELECT *
FROM orders
WHERE created_at BETWEEN '2026-01-01' AND '2026-01-31 23:59:59';

它适合处理:

  • 数值范围
  • 日期范围
  • 连续编号区间

带LIKE的字符匹配查询

LIKE 用于做字符串的模糊匹配。

常见通配符有:

  • %:匹配任意长度的任意字符
  • _:匹配单个字符

例如:

SELECT *
FROM user
WHERE name LIKE '张%';

表示查询姓名以“张”开头的记录。

再例如:

SELECT *
FROM article
WHERE title LIKE '%MySQL%';

表示标题中只要包含 MySQL 就会被查询出来。

小结

基础查询的核心就是 SELECT + FROM + WHERE。掌握查询全部字段、指定字段、条件查询、INBETWEEN ... AND ...LIKE 之后,就已经能完成大部分常见单表查询。