
SELECT语句是MySQL中最常用的命令,没有之一。它能让你从海量数据中精准提取需要的信息,就像在图书馆用智能检索系统找书一样简单。今天我们就来揭开这个神奇命令的面纱,让你在Linux环境下也能轻松驾驭数据库查询。
打开你的Linux终端,输入mysql -u 用户名 -p
登录数据库后,试试这个最简单的查询:
SELECT * FROM users;
这条命令会显示users
表中的所有数据。星号(*)代表所有列,这是最粗暴直接的查询方式。但实际工作中我们很少这么用,因为大多数表都包含大量数据,全表查询既浪费资源又不高效。
更专业的做法是指定需要的列名:
SELECT username, email, created_at FROM users;
这样只返回三个字段,查询速度更快,结果也更清晰。记住:永远只查询你真正需要的数据,这是数据库优化的黄金法则。

WHERE子句是SELECT的黄金搭档,它能帮你过滤出符合条件的记录。比如想找所有VIP用户:
SELECT * FROM users WHERE is_vip = 1;
或者查询特定时间注册的用户:
SELECT username FROM users WHERE created_at BETWEEN '2023-01-01' AND '2023-12-31';
条件查询支持各种运算符:=
等于、!=
不等于、>
大于、<
小于、LIKE
模糊匹配等。组合使用它们,你能像侦探一样从数据海洋中捞出任何线索:
SELECT * FROM products WHERE price > 100 AND stock_quantity < 10;
查询结果默认是无序的,但加上ORDER BY
就能让数据按你的规则排列。比如按注册时间倒序显示用户:
SELECT * FROM users ORDER BY created_at DESC;
DESC表示降序,ASC是升序(默认可省略)。当数据量很大时,记得加上LIMIT
分页:
SELECT * FROM orders ORDER BY order_date DESC LIMIT 10 OFFSET 20;
这个查询跳过前20条记录,返回接下来的10条。OFFSET表示偏移量,在实现分页功能时特别有用。

MySQL提供了一系列强大的聚合函数:COUNT()
计数、SUM()
求和、AVG()
平均值、MAX()
最大值、MIN()
最小值。配合GROUP BY
使用,能生成各种统计报表:
SELECT department, COUNT(*) as employee_count, AVG(salary) as avg_salary FROM employees GROUP BY department;
这个查询会按部门分组,计算每个部门的员工人数和平均工资。AS关键字用于给列起别名,让结果更易读。
记住:在Linux终端操作MySQL时,所有命令都要以分号(;)结尾。现在就去试试这些查询吧,你会发现自己突然就拥有了从数据中挖掘宝藏的超能力!




