第1章 起点:数据库、表与第一条查询


第1章 · 起点:数据库、表与第一条查询

本章要回答的三个问题:数据在数据库里到底长什么样?SQL 和 Python、Java 这些语言有什么本质不同?第一条 SELECT 语句从敲下去到出结果,中间发生了什么?回答完这三个问题,你就站上了整座阶梯的第一级台阶。

为什么会有这一章

多数人第一次接触 SQL,是从一句"帮我从数据库里导个数据"开始的。如果这时你对"表、行、列、主键"没有具体画面,对"SELECT 的书写顺序不等于执行顺序"没有概念,后面每一级台阶都会踩空:写连接时分不清哪列来自哪张表,写分组时不理解为什么 SELECT 里出现了 GROUP BY 之外的列会被直接报错。这一章不赶进度,把三件事做扎实:给"关系模型"一个可以触摸的形状;给 SQL 的五个语句家族画一张地图;再亲手跑通一条完整的 SELECT,看懂它的输出。

本章还会顺手完成一件影响全书的事:搭建贯穿十个章节的图书电商示例库。后面第 7 章的窗口排名、第 8 章的递归分类树、第 10 章的索引实验,全都跑在这套表上。

读完能解决什么

对照本章开头的三个问题,你应当能给出如下答案:

  • 用"表格"准确说出数据库、表、行、列、主键、数据类型各自的含义,并向同事解释为什么不建议用 Excel 的思路理解数据库;
  • 区分 DDL、DML、DQL、DCL、TCL 五类语句的职责边界,看到一条陌生语句能立刻归类;
  • 独立写出带 WHERE 过滤、ORDER BY 排序、LIMIT 限量的单表查询,并按逻辑执行顺序手工推演出它的结果;
  • 用 CREATE DATABASE、CREATE TABLE 搭出示例库的第一张表,并为每一列挑对数据类型。

各节怎么分工

节 回答哪个问题 关键产出
1.1 表、行、列入门 数据长什么样 关系模型的结构图景与主键、外键的角色
1.2 SQL 语句家族地图 SQL 是门什么语言 五类语句的职责表与声明式的含义
1.3 第一条 SELECT 查询 一条查询怎么跑通 过滤、排序、限量的完整会话与逻辑执行顺序
1.4 建库建表与数据类型 练习场怎么搭 示例库首张表的建表语句与类型选型表

先决条件

  • 装好任意一款关系型数据库(推荐 MySQL 8.0 或 PostgreSQL 14 以上),能用命令行或图形客户端连上它;
  • 不需要任何编程基础,本章自足;如果已经会一点 SELECT,可以直接从 1.3 的逻辑执行顺序部分开始自查。

本章知识点清单

  • 能画出"数据库 → 表 → 行 → 列"的包含关系,并说明行与列各自对应现实中的什么;
  • 能解释主键为什么必须唯一且非空,复合主键与代理键的差别;
  • 能把 CREATE、INSERT、SELECT、GRANT、COMMIT 各归入五个语句家族之一;
  • 能说出声明式与过程式的区别,并用一句话向非技术同事解释 SELECT 的含义;
  • 能写出 WHERE + ORDER BY + LIMIT 组合查询,并按 FROM → WHERE → SELECT → ORDER BY → LIMIT 的顺序推演结果;
  • 能为字符串、整数、金额、日期四类业务字段各挑一个合适的数据类型并说明理由。

本章概念全景

站上第一级台阶的标准不是"会敲 SELECT",而是"能预言 SELECT 的输出"。

往下走到哪

下一章暂时放下查询,解决"数据从哪来":用 INSERT 把示例数据灌进表里,再面对 UPDATE 和 DELETE 这两个威力大、也容易闯祸的动词。第 1 章搭好的表结构,就是第 2 章操作的画布。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U