SQL 入门:从 SELECT 开始,查出你的第一张表
刚接触数据库时,最先要学会的不是建库建表,而是把已有的数据查出来。完成这件事的关键字就是 SELECT:请数据库把我要的列交出来。读懂它,就等于拿到了和数据库对话的第一把钥匙。
先看一张学生表 students,里面有 id、name、age、city 四列,每一行代表一名学生。查全部数据可以写:SELECT * FROM students;。星号表示全部列,FROM 后面写表名,分号表示语句结束。初学时用星号很方便,但正式项目里不建议滥用,多余的列会增加传输和计算成本。
只取需要的列更常见。写成 SELECT name, age FROM students;,结果就只剩下姓名和年龄。只拿真正要用的数据,查询更快,结果也更清楚。列的顺序由你决定,写在前面的列先出现,整理报表时经常用到这一点。
数据一多就要筛选,WHERE 就是加条件的地方。例如 SELECT name, city FROM students WHERE age >= 18;,只返回年龄不小于 18 的学生。文字条件要用单引号包起来,数字条件则不需要引号。多个条件可以用 AND、OR 组合,必要时用括号把意思写清楚。
查出的顺序默认并不固定,想稳定排序就用 ORDER BY。例如 SELECT name, age FROM students ORDER BY age DESC;,按年龄从大到小排列,换成 ASC 就是从小到大。再配合 LIMIT,例如 ORDER BY age DESC LIMIT 3,就能得到年龄最大的三名学生,做排行榜时特别常用。
新手常踩的坑有四个:表名列名拼错,报错时先逐字核对;文字忘记加引号或中英文引号混用;忘记写 WHERE 就更新或删除数据,练习时也要先用 SELECT 确认;列名撞上关键字,命名时尽量避开保留字。
动手练一练:先用 SELECT * 看清整张表,再改成只选两列,接着加一个 WHERE 条件,最后加上 ORDER BY 和 LIMIT。总结这条最小路径:SELECT 决定要哪些列,FROM 决定从哪张表取,WHERE 决定筛选条件,ORDER BY 决定排序,LIMIT 决定取几条。把它们拼起来,你已经能查出自己的第一张表了。
- 点赞
- 收藏
- 关注作者
评论(0)