[ 2025.4.18更新 ]

第一阶段:SQL 与关系数据库基础

目标:理解关系型数据库基本概念与 SQL 语言的整体结构。

1. 什么是关系型数据库学习关系型数据库

  • 表格式存储(行与列)
  • 主键、外键与关系模型
  • 常见 RDBMS:MySQL、PostgreSQL、SQL Server、Oracle

2. SQL 与 NoSQL 的区别 学习SQL和NoSQL

  • SQL 强一致性、结构化
  • NoSQL 灵活扩展、弱一致性

3. SQL 的分类 学习SQL分类

  • 数据定义语言(DDL):CREATE、ALTER、TRUNCATE
  • 数据操作语言(DML):SELECT、INSERT、UPDATE、DELETE
  • 数据控制语言(DCL):GRANT、REVOKE
  • 事务控制语言(TCL):BEGIN、COMMIT、ROLLBACK、SAVEPOINT

第二阶段:基础 SQL 查询语法

目标:掌握最常用的查询与数据操作指令。

1. 数据操作语句(DML) 学习DML基础

  • 查询数据:SELECT
  • 插入数据:INSERT INTO
  • 更新数据:UPDATE ... SET ... WHERE
  • 删除数据:DELETE FROM

2. 关键子句 学习SQL子句

  • FROM:指定查询表
  • WHERE:条件筛选
  • ORDER BY:排序(ASC / DESC)
  • GROUP BY + HAVING:分组聚合
  • LIMIT / OFFSET:分页

3. 聚合函数 学习聚合函数

  • COUNT()、SUM()、AVG()、MIN()、MAX()

第三阶段:数据建模与约束

目标:了解如何设计数据表并设置数据完整性。

1. 创建与修改表结构(DDL) 学习DDL基础

  • CREATE TABLE
  • ALTER TABLE
  • TRUNCATE TABLE

2. 数据类型与列属性 学习SQL类型和列属性

  • 字符类型、数字类型、时间类型
  • NULL、NOT NULL
  • DEFAULT 默认值设置

3. 约束类型 学习约束类型

  • PRIMARY KEY
  • FOREIGN KEY
  • UNIQUE
  • CHECK

第四阶段:多表连接与子查询 学习子查询和嵌套

目标:学会在多表之间进行联合查询与嵌套查询。

1. JOIN 操作 学习JOIN全家桶

  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL OUTER JOIN
  • SELF JOIN
  • CROSS JOIN

2. 子查询 学习子查询

  • 标量子查询(返回单个值)
  • 行子查询(返回单行)
  • 表子查询(返回多行多列)

3. 子查询类型 学习进阶子查询

  • 嵌套子查询
  • 相关子查询(使用主查询中的值)

第五阶段:函数与表达式

目标:掌握 SQL 中的字符串、时间、数值函数与条件表达式。

1. 字符串函数 学习字符串函数

  • CONCAT、LENGTH、SUBSTRING、REPLACE
  • UPPER() / LOWER()

2. 日期时间函数 学习日期函数

  • NOW()、DATEPART()、DATEADD()
  • TIMESTAMP 操作

3. 数值函数 学习数值函数

  • FLOOR()、ROUND()、ABS()、MOD()、CEILING()

4. 逻辑函数 学习逻辑函数

  • CASE WHEN
  • NULLIF()、COALESCE()

第六阶段:视图与索引

目标:提高查询效率与逻辑结构复用。

1. 视图(View) 学习视图View

  • 创建视图:CREATE VIEW
  • 修改视图:ALTER VIEW
  • 删除视图:DROP VIEW

2. 索引(Index) 学习索引

  • 什么是索引,如何提升查询性能
  • 创建、修改、删除索引
  • 使用 BTree 索引、哈希索引
  • 避免索引失效的常见原因

第七阶段:事务控制与数据一致性

目标:理解数据库事务和隔离级别,确保数据可靠性。

1. 事务基本操作 学习事务基本操作

  • 开始事务:BEGIN
  • 提交事务:COMMIT
  • 回滚事务:ROLLBACK
  • 设置保存点:SAVEPOINT

2. ACID 原则 学习ACID原则

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

3. 隔离级别 学习隔离级别

  • Read Uncommitted
  • Read Committed
  • Repeatable Read
  • Serializable

第八阶段:高级 SQL 与优化技巧

目标:掌握复杂 SQL 编写和性能优化技巧。

1. 高级查询语法 学习高级查询

  • 递归查询(WITH RECURSIVE)
  • CTE(公共表表达式)学习CTE
  • PIVOT / UNPIVOT 操作
  • 动态 SQL(如 EXECUTE IMMEDIATE)

2. 窗口函数 学习窗口函数

  • ROW_NUMBER()、RANK()、DENSE_RANK()
  • LEAD()、LAG()
  • OVER() 分区与排序

3. 查询优化 学习查询优化

  • 使用索引进行过滤
  • 选择性投影(只查询需要的列)
  • 避免过度嵌套子查询
  • EXPLAIN 查询分析工具使用

第九阶段:权限控制与安全性

目标:保障数据的安全访问与最小权限原则。

1. 用户权限 学习用户权限

  • GRANT 授权
  • REVOKE 撤销权限

2. 数据完整性控制 学习数据完整性

  • 通过约束限制数据错误写入
  • 使用视图限制敏感列访问

3. 最佳实践 学习最佳实践

  • 防止 SQL 注入
  • 使用参数化查询
  • 最小权限原则

推荐资源与学习建议

学习建议:

  • 多练习 SELECT 查询与 JOIN 组合
  • 每学一个函数就在本地数据库实践
  • 用一个实际系统(如图书馆管理系统)设计数据库

推荐资源:


去1:1私密咨询