好的,我帮你整理一份SQL 数据库学习路线图,从基础概念到高级应用,再到实战和性能优化,按阶段分级,方便循序渐进学习。
SQL 数据库学习路线图
阶段一:基础概念与环境搭建
- 数据库基础概念
- 数据库、表、记录、字段
- 主键、外键、索引、约束
- SQL 与 NoSQL 的区别
- 环境搭建
- 安装 MySQL / PostgreSQL / SQL Server / SQLite
- 使用 GUI 工具(DBeaver、Navicat、pgAdmin)
- 使用命令行客户端
- 基础 SQL 语法
- 数据操作语言(DML):
SELECT
查询、INSERT
插入、UPDATE
更新、DELETE
删除
- 数据定义语言(DDL):
CREATE TABLE
、ALTER TABLE
、DROP TABLE
- 数据控制语言(DCL):
GRANT
、REVOKE
- 事务控制(TCL):
COMMIT
、ROLLBACK
、SAVEPOINT
- 数据操作语言(DML):
阶段二:查询与操作进阶
- 查询进阶
- 条件查询:
WHERE
、逻辑运算符 - 排序与分组:
ORDER BY
、GROUP BY
、HAVING
- 聚合函数:
COUNT()
、SUM()
、AVG()
、MAX()
、MIN()
- 子查询:标量子查询、相关子查询
- 条件查询:
- 表连接
- 内连接(INNER JOIN)
- 外连接(LEFT/RIGHT/FULL OUTER JOIN)
- 自连接(SELF JOIN)
- 多表联合查询
- 视图与索引
CREATE VIEW
创建视图- 索引类型:单列索引、多列索引、唯一索引、全文索引
- 索引的使用场景与优化原则
阶段三:高级 SQL 技能
- 高级查询
- 窗口函数:
ROW_NUMBER()
、RANK()
、LEAD()
、LAG()
- 公共表表达式(CTE):
WITH
子句 - 递归查询
- 窗口函数:
- 事务与锁
- ACID 原则
- 事务隔离级别:READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE
- 锁机制:行锁、表锁、悲观锁、乐观锁
- 函数与存储过程
- 内置函数:字符串、日期、数学函数
- 用户自定义函数(UDF)
- 存储过程与触发器
- 游标操作
阶段四:数据库设计与建模
- 数据建模
- 实体-关系模型(ER 模型)
- 正规化(1NF、2NF、3NF、BCNF)
- 表结构设计与优化
- 范式与反范式
- 范式:减少冗余、避免异常
- 反范式:为了查询性能适度冗余
- 数据完整性约束
- 主键、外键、唯一约束
- 检查约束(CHECK)、非空约束(NOT NULL)
阶段五:性能优化
- SQL 优化
- 使用索引优化查询
- 避免 SELECT *、合理使用 JOIN
- 查询执行计划分析
- 数据库优化
- 分区表与分表策略
- 数据库缓存(如 Redis 缓存热点数据)
- 连接池优化
- 监控与诊断
- 慢查询日志
- 数据库性能监控工具
阶段六:实战项目与进阶技能
- 实战项目
- 小型管理系统(学生/图书/库存管理)
- 数据报表系统
- Web 应用后端数据库
- 进阶方向
- 分布式数据库(MySQL Cluster、PostgreSQL + Citus)
- 数据仓库(OLAP、ETL、Hive/ClickHouse)
- 大数据与 SQL on Hadoop(Spark SQL)
- SQL 与编程语言结合(Python + SQLAlchemy、Java + JDBC)
阶段七:工具与生态
- GUI 工具
- Navicat、DBeaver、HeidiSQL、pgAdmin
- 版本控制
- Flyway、Liquibase 数据库迁移工具
- 云数据库
- AWS RDS / Aurora
- 阿里云 PolarDB / ApsaraDB
发表回复