第 2 步 · 数据库 · 7-10 天
MySQL 快速使用与实战
为网站设计数据结构,掌握建库建表、增删改查、索引、用户权限和备份恢复。
MySQL 8.4 手册安装、SQL、权限和备份官方参考。访问官方资料 ↗本阶段思路
学到刚好能推动网站进入下一步
先知道它位于哪里
明确当前技术在网站中的职责,以及它与上一步、下一步怎样连接。
所有练习进入同一项目
不做无关的小例子,直接完善正在搭建的网站。
达到交付标准再继续
以可运行、可检查的结果判断是否完成,而不是以看完多少教程判断。
详细学习思路
MySQL 的 3 个实战阶段
先完成常用操作,再连接真实网站,最后按检查清单交付本阶段成果。
01快速入门 · 2-3 天安装、连接与基础 SQL能建库建表,并从命令行完成增删改查。
需要学习
- 安装、启动、登录和配置位置
- CREATE、INSERT、SELECT、UPDATE、DELETE
- WHERE、ORDER BY、LIMIT 与 NULL
动手练习
- 创建 webapp 数据库
- 建立 users 和 posts 表
- 完成内容的增删改查
进入下一步前
- 危险更新前先 SELECT
- 字段使用合适数据类型
- 字符集统一为 utf8mb4
官方资料与延伸阅读
MySQL Tutorial数据库与 SQL 官方入门。打开 ↗02网站数据 · 3-4 天关系、约束与索引让数据结构能表达网站业务,并支持常用查询。
需要学习
- 主键、唯一约束、外键与时间字段
- 一对多关系、JOIN 和分页
- 普通索引、联合索引和 EXPLAIN
动手练习
- 给文章关联作者
- 实现文章列表分页
- 为登录邮箱和发布时间添加索引
进入下一步前
- 重复邮箱会被拒绝
- 常用查询不全表扫描
- 能解释每个索引服务哪个查询
官方资料与延伸阅读
MySQL Optimization索引与查询优化。打开 ↗03阶段交付 · 2-3 天应用账号、事务与备份安全地把数据库交给下一阶段的 Go 服务使用。
需要学习
- CREATE USER、GRANT 与最小权限
- 事务提交、回滚和连接配置
- mysqldump、恢复与配置保密
动手练习
- 创建只访问 webapp 的应用账号
- 完成一次备份与恢复
- 准备 Go 使用的数据库连接信息
进入下一步前
- 应用不使用 root 账号
- 密码不提交进 Git
- 备份文件可以实际恢复