← 返回总目录 DAY 06 · 数据库
DAY 06 · 课程开始

数据库 + MySQL + 关系型

把"数据库"想成"超大 Excel",今天搞定 80% 的数据库术语和 SQL

7
章节
4
SQL 金刚
3
表关系
CHAPTER 01

数据库到底是什么?

数据库 = 给程序用的、能高速查询和修改的"超级 Excel"

📊 users 表(就像一张 Excel 表)
id(主键)usernameemailagecreated_at
1Alicealice@x.com232025-04-01
2Bobbob@x.com302025-04-02
3Charliec@x.com272025-04-03
⚖️
对比 Excel:Excel 你点点鼠标改,最多几万行就卡了;数据库通过 SQL 操作,亿级数据也能秒查。
CHAPTER 02

关系型 vs 非关系型

🗂️

关系型(SQL)

数据按"表"存,表与表之间有关系。代表:MySQL / PostgreSQL / SQL Server。
本课重点学。

📦

非关系型(NoSQL)

数据可以是文档、键值对、图。代表:MongoDB / Redis / Elasticsearch。

⚖️

怎么选?

结构化数据用 SQL;缓存 / 日志 / 搜索 用 NoSQL。中小项目从 MySQL 起步绝对没错。

💡
记住这句话:关系型擅长"数据严谨、关系清晰",非关系型擅长"灵活、超大量、高速读写"。
CHAPTER 03

MySQL 与核心术语

世界上用得最多的开源关系型数据库

🏛️ 数据库实例(MySQL Server)

一台服务器上跑的 MySQL 程序

📚 数据库(Database / Schema)

一个项目对应一个库,比如 shop_db

📋 表(Table)

一类数据,比如 users / orders / products

📝 记录(Row)+ 字段(Column)

每行一条数据,每列一个属性

必须认识的几个名词

  • 主键(Primary Key):唯一标识每行的字段,通常叫 id
  • 外键(Foreign Key):引用别的表的主键,建立"关系"
  • 索引(Index):给字段加"目录",让查询飞快
  • NULL:表示"空",不是 0 也不是空字符串
CHAPTER 04 · 核心

SQL 四大金刚

操作关系型数据库的标准语言

SELECT 查

SELECT *
FROM users
WHERE age > 18
ORDER BY id DESC
LIMIT 10;

INSERT 增

INSERT INTO users
(username, email, age)
VALUES
('Tom', 't@x.com', 25);

UPDATE 改

UPDATE users
SET age = 26
WHERE username = 'Tom';

DELETE 删

DELETE FROM users
WHERE id = 5;
🔥
头等大事:UPDATE / DELETE 一定要带 WHERE 条件!否则——全表数据一次毁灭。
CHAPTER 05 · 演练

SQL 在线演练

选一条 SQL 看会查出什么

📋 当前 users 表

idusernameagecity
1Alice23北京
2Bob30上海
3Charlie27北京
4Diana19深圳
5Eve35北京

选一条 SQL 执行:

点上方"执行"看结果...
CHAPTER 06

表与表的关系

真实业务中数据不会只有一张表,比如电商:用户、订单、商品

1️⃣ 一对一

👤 🪪

每个用户对应一张身份证。
user_id 做外键。

1️⃣→N 一对多

👤 🛒🛒🛒

一个用户可以有多个订单。
orders 表存 user_id 外键。

N→N 多对多

🛒🛒 📦📦

一订单含多商品,一商品也能在多订单里。
需要中间表 order_items

orders 表:       (id, user_id, created_at)
products 表:     (id, name, price)
order_items 表:  (id, order_id, product_id, quantity)   ← 中间表
CHAPTER 07

让 AI 设计数据库表

这段提示词给 AI,立即拿到一份完整建库语句

角色:你是一位资深 MySQL DBA。
上下文:简单的图书馆管理系统。
需求:请设计 4 张表:
  · users        : id、name、email、created_at
  · books        : id、title、author、isbn、stock
  · borrows      : id、user_id(外键)、book_id(外键)、borrow_date、return_date
  · categories   : id、name;与 books 多对多
约束:
  · CREATE TABLE 语句(MySQL 8 语法)
  · 主键自增、合理 NOT NULL / DEFAULT
  · 必要的索引(user_id、book_id)
  · 一份示例数据 INSERT,方便测试
  · 末尾给 3 条常用查询 SQL
FINAL CHECK

课后小测

答对 3 题以上才能解锁完成

🗄️

恭喜完成 Day 6!

数据库的核心都拿下了,最后一天我们把全栈串起来做完整项目。

上 · 下 · 空格 翻页