🗄️ 第三章 操作数据库-SQL的使用方法
📄 一句话概括

从本章起正式动手操作数据库——先备好【能输入 SQL 的地方】:一个 DBMS 环境(在线运行器就行),所有命令都在那里敲。

📝 本节和前面几节的关系

1-6 只带大家【尝了一口】SQL;第二章把数据怎么放讲透了;本章是全课的实操大章——22 节全是命令。本节先把【训练场】搭好,后面 21 节都在这个场子里练。

一、操作数据库前要准备什么

写 SQL 不需要高配电脑,只需要两样:

  1. 一个 DBMS(1-3 的管理员系统)——本章命令在 MySQL 和 SQLite 里都能跑(个别差异随节标注)
  2. 一个能输入 SQL 的窗口——命令行、图形界面、或浏览器在线运行器(本课默认:搜索【SQLite online】或【SQLite online】,打开后直接在输入框敲 SQL、点运行)

不用安装任何东西——这是本课的环境约定(15. 🗄️ 数据库基础 00-索引 使用说明里写明了的)。

二、SQL 命令长什么样

一个命令(术语叫语句)的最小样子:

SELECT * FROM students;

三个零件:

本章会学的命令地图(22 节的路线):

家族(1-6 讲过) 本章要学的
定义(造库造表) CREATE、DROP(3-3、3-5)
操作(增删改) INSERT(3-6)、UPDATE(3-11)、DELETE(3-12)
查询 SELECT+WHERE+ORDER BY+函数+JOIN(3-7~3-10、3-13~3-22)

三、本章的贯穿示例表

为了让 22 节一气呵成,本章所有练习围绕同一张表 students(学生表):

id name class score
1 张三 1 85
2 李四 1 92
3 王五 2 78
4 赵六 2 64
5 钱七 3 NULL

四、动手 Demo:把训练场跑起来

  1. 打开在线 SQLite 运行器
  2. 贴入下面的【准备数据】代码(本章每篇 Demo 都会用它,叫【本章准备块】):
CREATE TABLE students (
  id    INTEGER PRIMARY KEY,
  name  TEXT,
  class INTEGER,
  score INTEGER
);
INSERT INTO students VALUES (1, '张三', 1, 85);
INSERT INTO students VALUES (2, '李四', 1, 92);
INSERT INTO students VALUES (3, '王五', 2, 78);
INSERT INTO students VALUES (4, '赵六', 2, 64);
INSERT INTO students VALUES (5, '钱七', 3, NULL);
  1. 再单独执行一句:
SELECT * FROM students;

看到什么算成功:输出框里出现上面那张五行小表——训练场开张,本章随时开工。

五、30 秒实验

在运行器里故意把分号删掉再运行:

六、常见误区

  1. "练 SQL 必须先装 MySQL" —— 本章所有命令浏览器就能跑;真要装,到 SQL 进阶再说。
  2. "SQL 命令很短,随便写写就行" —— 命令短,但差一个字符结果就全变(后面 UPDATE 忘 WHERE 的事故就是一秒清空全表工资),要按语法一笔一画写。
  3. "示例表只有五行太小,学了没用" —— 语法和大表一模一样;五行的好处是结果一眼能验算——先在小表上把语法练对,以后换大表只是数量变。
自测三问(点开对答案) 1. 一条 SQL 语句的三个零件是什么? **关键字(做什么)+对象(对谁做)+分号(收尾)**。 2. 本章贯穿示例表叫什么、有哪几个字段? **students:id(主键)、name、class、score**;钱七的 score 是 NULL。 3. 本章的运行环境是什么? **浏览器在线 SQLite 运行器**,免安装。

相关笔记