1. MySQL 基础
-
安装与配置:
- 如何安装 MySQL(Windows/Linux/Mac)。
- 配置 MySQL 服务。
-
基本概念:
- 数据库、表、行、列的概念。
- 数据类型:整型、浮点型、字符型、日期/时间型等。
-
数据库操作:
- 创建数据库、选择数据库、删除数据库。
- 创建表、修改表结构、删除表。
-
基本查询:
SELECT语句、条件过滤WHERE。- 排序、分组、聚合函数(
COUNT,SUM,AVG等)。 LIMIT和OFFSET分页。
-
数据插入与更新:
- 插入数据
INSERT。 - 更新数据
UPDATE。 - 删除数据
DELETE。
- 插入数据
-
索引:
- 什么是索引,如何创建索引。
- 索引的种类:普通索引、唯一索引、主键索引。
- 索引的优化。
-
约束:
- 主键、外键、唯一约束、非空约束。
- 外键关系的建立。
2. 进阶内容
-
联接(JOIN) :
- 内连接(
INNER JOIN)、外连接(LEFT JOIN、RIGHT JOIN)。 - 自连接。
- 联接的优化。
- 内连接(
-
子查询:
- 内嵌查询、相关子查询、非相关子查询。
- 使用
EXISTS、IN、ANY等。
-
事务:
- 事务的概念(ACID特性)。
- 开始事务、提交事务、回滚事务。
- 锁机制(行锁、表锁)。
-
视图(View) :
- 创建、更新、删除视图。
- 视图的使用场景。
-
存储过程与函数:
- 创建存储过程、调用存储过程。
- 创建用户定义函数、触发器。
-
触发器:
- 触发器的概念与使用。
- 创建触发器,触发器的执行时机(
BEFORE、AFTER)。
3. 高级内容
-
性能优化:
- 查询优化:
EXPLAIN分析查询执行计划。 - 索引优化:选择合适的索引、避免全表扫描。
- 缓存机制、查询缓存。
- 查询优化:
-
分区表:
- 分区的概念、分区类型(范围分区、列表分区、哈希分区等)。
- 分区的使用与优化。
-
数据库复制与备份:
- 主从复制的概念和实现。
- 数据备份与恢复。
-
数据安全与权限管理:
- 用户权限管理(
GRANT、REVOKE)。 - 数据加密与安全性配置。
- 用户权限管理(
-
MySQL集群与高可用架构:
- MySQL Cluster、主从复制、分布式数据库架构。
- 高可用性架构与负载均衡。
4. 实战项目与工具
-
项目实践:
- 在项目中实际使用 MySQL,做一些复杂查询的优化。
- 设计数据库架构,编写存储过程与触发器来满足业务需求。
-
使用 MySQL 工具:
MySQL Workbench:图形化界面,查询分析与数据库建模。phpMyAdmin:基于 Web 的管理工具。MySQL Shell:命令行管理。
-
数据库设计与建模:
- 学习数据库设计原则:范式、反范式。
- 使用 ER 图(实体关系图)设计数据库结构。
5. 参考资料与学习资源
-
官方文档:MySQL 官方文档
-
在线教程与书籍:
- 《MySQL 必知必会》:适合初学者,内容简单易懂。
- 《高性能 MySQL》:深入了解 MySQL 性能优化。
- 《MySQL 技术内幕》:适合有一定基础的读者,讲解了 MySQL 的内核机制。
-
视频教程:
- YouTube 和各大在线教育平台(如 Coursera、Udemy)上也有许多免费的 MySQL 学习资源。
-
社区与论坛:
- Stack Overflow、MySQL 官方论坛,可以向其他开发者请教问题。