第五部分导读 · 数据库
数据存到哪里,决定了后面怎么查、怎么备份、出了问题怎么救。这一部分先讲各种数据库共用的部分:连接串、通用 SQL、事务、执行计划和迁移;再分库讲 PostgreSQL、MySQL、SQLite 和 MongoDB 各自的安装、命令和配置。先按数据的形状选库,再去对应章节查连接、备份和慢查询。
要做什么,用哪个
Section titled “要做什么,用哪个”| 我要做什么 | 用哪个 | 详见 |
|---|---|---|
| 存结构固定的业务数据,要事务和联表 | PostgreSQL(团队已在用 MySQL 就沿用 MySQL) | 第 21 章 21.4 |
| 老系统或托管环境已经是 MySQL | MySQL 或 MariaDB | 第 22 章 22.4 |
| 单机小工具,或拿 SQL 分析一份 CSV | SQLite | 第 23 章 23.4 |
| 数据是一份份嵌套文档,字段常变 | MongoDB | 第 24 章 24.4 |
| 让程序用连接串连上数据库 | DATABASE_URL 加驱动 | 第 20 章 20.4 |
| 备份一个库,恢复成另一个库 | 各库自带的导出和导入工具 | 第 20 章 20.4(PostgreSQL 21.4、MySQL 22.4、SQLite 23.4、MongoDB 24.4) |
| 查询慢,找出慢语句并加索引 | EXPLAIN(MySQL 另有慢查询日志) | 第 21 章 21.4(MySQL 见 22.3) |
| 表结构的每次变化留下记录 | 迁移工具(Alembic、Prisma、Flyway) | 第 20 章 20.4 |
- 第 20 章 数据库通用:连接串与客户端、通用 SQL、事务、索引与执行计划、备份恢复和迁移工具。
- 第 21 章 PostgreSQL:psql 常用命令、用户与权限、备份恢复、pg_hba.conf 和慢查询排查。
- 第 22 章 MySQL 与 MariaDB:客户端命令、账号与主机、导出导入、慢查询日志和中文乱码。
- 第 23 章 SQLite:单文件数据库的打开、导入导出、在线备份,以及在 Python 里使用。
- 第 24 章 MongoDB:mongosh 增删改查、索引与 explain、聚合,以及备份恢复。