数据库教程总目录
本目录是 RootStack 的 多数据库教学模块,面向有 C/C++ 基础的读者。数据库是后端开发、运维和安全的共同基石:写服务端程序要连数据库,做渗透测试要懂 SQL 注入,分析日志要会查询。本教程从零开始,以 MySQL 为主线深入讲解,再横向铺开 PostgreSQL、SQLite、SQL Server、Oracle、MongoDB、Redis、Elasticsearch 八大主流数据库。
学习前置建议:具备任意一门编程语言基础(C/C++ 更佳),无需数据库经验。
一、主流数据库选型对比
| 数据库 | 类型 | 许可证 | 典型场景 | 默认端口 |
|---|---|---|---|---|
| MySQL | 关系型 | GPL / 商业双授权 | Web 后端(LAMP/LNMP)、中小型互联网业务 | 3306 |
| PostgreSQL | 关系型(对象-关系) | BSD 类(PostgreSQL License) | 复杂查询、GIS、数据分析、企业级应用 | 5432 |
| SQLite | 嵌入式关系型 | Public Domain | 移动端 App、桌面软件、IoT、测试 | 无(单文件,无网络端口) |
| SQL Server | 关系型 | 商业(有免费 Developer 版) | Windows 企业生态、.NET 技术栈 | 1433 |
| Oracle | 关系型 | 商业 | 银行、电信、大型政企核心系统 | 1521 |
| MongoDB | 文档型 NoSQL | SSPL | 快速迭代的业务、日志存储、半结构化数据 | 27017 |
| Redis | 内存键值 NoSQL | BSD 类(RSALv2/SSPLv1 双许可) | 缓存、会话存储、消息队列、排行榜 | 6379 |
| Elasticsearch | 全文搜索引擎 | SSPL / Elastic License | 日志分析、全文搜索、实时数据分析 | 9200 |
选型一句话:Web 业务选 MySQL 或 PostgreSQL,嵌入式/单机小工具选 SQLite,缓存选 Redis,文档灵活多变选 MongoDB,全文搜索/日志分析选 Elasticsearch,国企银行按甲方要求上 Oracle/SQL Server。
二、学习路线
flowchart LR A[SQL 基础语法<br>DDL/DML/CRUD] --> B[MySQL 深入<br>安装配置/查询进阶] B --> C[索引与事务优化] C --> D[权限备份与主从复制] D --> D2[与后端语言集成<br>Java/Python/C/Go] D2 --> D3[高级主题与性能诊断<br>CTE/JSON/分区/锁/调优] D3 --> E[其他关系型数据库<br>PostgreSQL / SQLite] E --> F[商业关系库了解<br>SQL Server / Oracle] F --> G[NoSQL 拓展<br>MongoDB / Redis] G --> H[搜索引擎<br>Elasticsearch] style A fill:#e8f5e9 style H fill:#fff3e0
推荐顺序:
- 先学
mysql/九章,掌握 SQL 与一个生产级关系库的完整使用,并把它接进后端程序 - 再横向对比学 PostgreSQL 和 SQLite,体会不同实现的差异
- 最后根据需要选修 MongoDB / Redis / Elasticsearch
三、子目录导航
| 目录 | 内容 |
|---|---|
| MySQL 01 安装与配置 | 多平台安装(MySQL/MariaDB 辨析)、客户端与编辑器、10 分钟上手、故障排查 |
| MySQL 02 SQL 基础语法 | 数据类型、库表操作、约束、CRUD 全套 |
| MySQL 03 查询进阶 | JOIN、子查询、UNION、内置函数、窗口函数 |
| MySQL 04 索引事务与优化 | B+ 树、最左前缀、EXPLAIN、ACID、隔离级别 |
| MySQL 05 用户权限与备份恢复 | GRANT/REVOKE、mysqldump、binlog 时间点恢复 |
| MySQL 06 存储过程与触发器 | 存储过程、触发器、事件调度器、游标 |
| MySQL 07 主从复制与高可用 | binlog 复制、GTID、读写分离、Group Replication |
| MySQL 08 与后端语言集成 | JDBC/PyMySQL/C API/Go/Node/Rust/Dart、连接池、事务、防注入 |
| MySQL 09 高级主题与性能诊断 | 窗口函数进阶、CTE、JSON、分区、EXPLAIN ANALYZE、锁与死锁、调优 |
| PostgreSQL 教程 | 最先进开源关系库、JSONB、扩展生态 |
| SQLite 教程 | 嵌入式零配置、C API 集成、类型亲和性 |
| SQL Server 教程 | 微软企业级关系库、T-SQL |
| Oracle 教程 | 大型商业数据库、PL/SQL |
| MongoDB 教程 | 文档型 NoSQL、聚合管道 |
| Redis 教程 | 内存键值数据库、缓存与数据结构 |
| Elasticsearch 入门教程 | 全文搜索引擎、ELK Stack、Java 集成 |
四、与 RootStack 其他模块的关联
| 模块 | 关联说明 |
|---|---|
| Java JDBC | Java 数据库访问基础,连接池、事务管理 |
| Java MyBatis | ORM 框架,SQL 映射与动态 SQL |
| Java Spring Data JPA | JPA 规范,Repository 抽象 |
| 网安数据库基础 | 安全视角的数据库入门,与本目录互为补充 |
| 红队数据库安全 | SQL 注入、提权、数据窃取等攻防实战 |
| Python sqlite3 | Python 内置 SQLite 模块 |
| Python ORM | Python SQLAlchemy / Django ORM |
| Rust sqlx | Rust 异步数据库访问与编译期 SQL 校验 |
| Dart 服务端 | Dart 服务端连接 MySQL 与 API 开发 |
| 多语言工程化 | 多语言后端的数据一致性与接口协作 |
返回 RootStack 首页