跳转至

MySQL从基础到入门

信息

本篇摘录自黑马程序员的B站教学视频,由本人学习视频内容后总结并提取摘要制作而成的简要笔记。

黑马程序员黑马程序员 MySQL数据库入门到精通,从mysql安装到mysql高级、mysql优化全囊括

本站笔记,由本人学习视频内容后,大量参考智云笔记 这位前辈的markdown文档。进一步进行了补充,包括但不限于(课程中老师的所有程序,一些基础概念,图表,以及细微的知识点)。并对前1-27章总结了幕布的思维导图笔记,方便及时查阅与复习。

对于黑马程序员的课程与前辈的笔记一并表示感谢!如有不妥之处可联系删除

本笔记暂时只记录到基础篇(完结),剩下的进阶篇以及运维篇由于本人方向是数据分析,在有限的时间下可能会挑选部分进行学习。


下面是数据分析,学习MySQL的路径指南 仅代表个人观点,供学习参考

说明!

作为一名目标是数据分析方向的大三学生,时间非常宝贵。MySQL 的“进阶篇”和“运维篇”中,很多内容是为 DBA(数据库管理员)后端开发 准备的,对于数据分析师来说,确实不需要全盘掌握。

针对数据分析职业方向,我整理了一份“去肥增瘦”的学习建议,用最少的时间掌握最核心的分析技能。

数据分析MySQL学习路径

🎯 核心原则

数据分析师对数据库的使用场景主要是:从海量数据中高效取数复杂报表统计ETL(数据清洗与转换)。 * 重点:怎么写查询更快(索引/优化)、怎么处理复杂逻辑(窗口函数/视图)。 * 非重点:数据库怎么装、怎么备份、怎么搭建集群(这些通常有公司的运维/DBA 搞定)。


📚 进阶篇:筛选建议

这一部分非常有价值,但需要挑着学。

章节 建议 理由
存储引擎 (2-7) 了解概念 知道 InnoDB 是默认的,支持事务即可。细节不用深究。
索引 (9-31) ⭐⭐⭐ 必学 重中之重。分析师经常处理千万级数据,不懂索引写出的 SQL 可能会跑死数据库。重点掌握:B+树结构(理解原理)、最左前缀法则、覆盖索引、执行计划 (Explain)
SQL 优化 (32-39) ⭐⭐⭐ 必学 尤其是 Order ByGroup ByLimit 的优化,这在做报表时非常常用。
视图 (40-44) ⭐⭐ 推荐 视图可以帮你把复杂的 SQL 逻辑封装起来,方便复用,分析师经常用。
存储过程 (45-58) ⭐ 选学 以前用来做数仓 ETL,但现在大厂多用 Python/Spark/Airflow 替代。能看懂基本语法即可,不必深钻。
触发器 (59-62) 跳过 分析师几乎不用。
锁 (64-75) ⭐ 了解 知道“死锁”和“读写锁”的概念即可,避免分析任务把业务表锁死。
InnoDB 引擎 (76-90) ⭐ 了解 MVCC、Redo/Undo Log 是面试后端的高频题,分析师知道事务隔离级别(ACID)即可。
MySQL 管理 (91-94) 跳过 DBA 的工作。

🔧 运维篇:筛选建议

这一部分对于纯数据分析师来说,90% 可以跳过

章节 建议 理由
日志 (2-5) 跳过 除非你想查是谁删了库。
主从复制 (6-10) ⭐ 概念 只需要知道“读写分离”的概念。分析师通常连接的是“从库(Slave/Read Replica)”去跑数,以免影响主库业务。
分库分表 (11-35) ⭐ 概念 知道为什么要分片(MyCat/Sharding)即可。实际工作中你通常面对的是已经分好的中间件,或者直接查 Hive/MaxCompute,不需要你配置 MyCat。
读写分离 (36-42) 跳过 搭建过程不需要学,知道原理即可。

🚀 补充:课程里可能缺失的“分析神器”

在标准 MySQL 教程中,往往会忽略一个对数据分析师最最重要的功能,如果课程里没讲,请务必单独去学

🔥 窗口函数 (Window Functions) * 关键字OVER(), PARTITION BY, RANK(), DENSE_RANK(), ROW_NUMBER(), LAG(), LEAD() * 场景: * “计算每个用户连续登录的天数” * “计算每个月销售额的环比/同比” * “取出每个班级的前三名” * 地位:这是 SQL 面试中数据分析岗的必考题,比存储过程重要 100 倍。MySQL 8.0 之后已原生支持。

📝 总结路线图

  1. 死磕索引与优化(进阶篇 9-39):保证你能写出高性能 SQL。
  2. 掌握视图(进阶篇 40-44):学会封装逻辑。
  3. 补全窗口函数(额外自学):解决复杂统计问题。
  4. 了解事务与主从概念:防止误操作影响业务,知道去哪里查数。
  5. 运维篇其余内容:直接略过,把时间留给 Python (Pandas/Matplotlib) 或 机器学习。

祝你学习顺利!

黑马程序员-MySQL课程目录

点击下拉按钮查看黑马程序员-MySQL课程目录

📚 MySQL课程完整目录列表

基础篇

  1. MySQL课程介绍
    1. 基础-课程内容-数据库相关概念
    2. 基础-概述-MySQL安装及启动
    3. 基础-概述-数据模型
    4. 基础-SQL-通用语法及分类
    5. 基础-SQL-DDL-数据库操作
    6. 基础-SQL-DDL-表操作-创建&查询
    7. 基础-SQL-DDL-数据类型及案例
    8. 基础-SQL-DDL-表操作-修改&删除
    9. 基础-SQL-DDL小结
    10. 基础-SQL-图形化界面工具DataGrip
    11. 基础-SQL-DML-插入
    12. 基础-SQL-DML-更新和删除
    13. 基础-SQL-DML小结
    14. 基础-SQL-DQL-基础查询
    15. 基础-SQL-DQL-条件查询
    16. 基础-SQL-DQL-聚合函数
    17. 基础-SQL-DQL-分组查询
    18. 基础-SQL-DQL-排序查询
    19. 基础-SQL-DQL-分页查询
    20. 基础-SQL-DQL-案例练习
    21. 基础-SQL-DQL-执行顺序
    22. 基础-SQL-DQL小结
    23. 基础-SQL-DCL-用户管理-
    24. 基础-SQL-DCL-权限控制-
    25. 基础-SQL-DCL小结
    26. 基础-函数-字符串函数
    27. 基础-函数-数值函数
    28. 基础-函数-日期函数
    29. 基础-函数-流程函数
    30. 基础-函数-小结
    31. 基础-约束-概述
    32. 基础-约束-演示
    33. 基础-约束-外键约束
    34. 基础-约束-外键删除更新行为
    35. 基础-约束-小结
    36. 基础-多表查询-多表关系介绍
    37. 基础-多表查询-概述
    38. 基础-多表查询-内连接
    39. 基础-多表查询-外连接
    40. 基础-多表查询-自连接
    41. 基础-多表查询-联合查询union
    42. 基础-多表查询-子查询介绍
    43. 基础-多表查询-标量子查询
    44. 基础-多表查询-列子查询
    45. 基础-多表查询-行子查询
    46. 基础-多表查询-表子查询
    47. 基础-多表查询-练习1
    48. 基础-多表查询-练习2
    49. 基础-多表查询-小结
    50. 基础-事务-简介
    51. 基础-事务-操作演示
    52. 基础-事务-四大特性ACID
    53. 基础-事务-并发事务问题
    54. 基础-事务-并发事务演示及隔离级别
    55. 基础-事务-小结
    56. 基础篇总结

进阶篇

  1. 进阶-课程介绍
  2. 进阶-存储引擎-MySQL体系结构
  3. 进阶-存储引擎-简介
  4. 进阶-存储引擎-InnoDB介绍
  5. 进阶-存储引擎-MyISAM和Memory
  6. 进阶-存储引擎-选择
  7. 进阶-存储引擎-小结
  8. 进阶-MySQL安装(linux版本)
  9. 进阶-索引-概述
  10. 进阶-索引-结构-介绍
  11. 进阶-索引-结构-Btree
  12. 进阶-索引-结构-B+tree
  13. 进阶-索引-结构-hash
  14. 进阶-索引-结构-思考题
  15. 进阶-索引-分类
  16. 进阶-索引-思考题
  17. 进阶-索引-语法
  18. 进阶-索引-性能分析-查看执行频次
  19. 进阶-索引-性能分析-慢查询日志
  20. 进阶-索引-性能分析-show profiles
  21. 进阶-索引-性能分析-explain
  22. 进阶-索引-使用规则-验证索引效率
  23. 进阶-索引-使用规则-最左前缀法则
  24. 进阶-索引-使用规则-索引失效情况一
  25. 进阶-索引-使用规则-索引失效情况二
  26. 进阶-索引-使用规则-SQL提示
  27. 进阶-索引-使用规则-覆盖索引&回表查询
  28. 进阶-索引-使用规则-前缀索引
  29. 进阶-索引-使用规则-单列&联合索引
  30. 进阶-索引-设计原则
  31. 进阶-索引-小结
  32. 进阶-SQL优化-插入数据
  33. 进阶-SQL优化-主键优化
  34. 进阶-SQL优化-order by优化
  35. 进阶-SQL优化-group by优化
  36. 进阶-SQL优化-limit优化
  37. 进阶-SQL优化-count优化
  38. 进阶-SQL优化-update优化(避免行锁升级为表锁)
  39. 进阶-SQL优化-小结
  40. 进阶-视图-介绍及基本语法
  41. 进阶-视图-检查选项(cascaded)
  42. 进阶-视图-检查选项(local)
  43. 进阶-视图-更新及作用
  44. 进阶-视图-案例
  45. 进阶-存储过程-介绍
  46. 进阶-存储过程-基本语法
  47. 进阶-存储过程-变量-系统变量
  48. 进阶-存储过程-变量-用户定义变量
  49. 进阶-存储过程-变量-局部变量
  50. 进阶-存储过程-if判断
  51. 进阶-存储过程-参数(IN,OUT,INOUT)
  52. 进阶-存储过程-case
  53. 进阶-存储过程-循环-while
  54. 进阶-存储过程-循环-repeat
  55. 进阶-存储过程-循环-loop
  56. 进阶-存储过程-游标-cursor
  57. 进阶-存储过程-条件处理程序-handler
  58. 进阶-存储函数
  59. 进阶-触发器-介绍
  60. 进阶-触发器-案例1(insert类型)
  61. 进阶-触发器-案例2(update类型)
  62. 进阶-触发器-案例3(delete类型)
  63. 进阶-视图&存储过程&触发器-小结
  64. 进阶-锁-介绍
  65. 进阶-锁-全局锁-介绍
  66. 进阶-锁-全局锁-一致性数据备份
  67. 进阶-锁-表级锁-表锁
  68. 进阶-锁-表级锁-元数据锁
  69. 进阶-锁-表级锁-意向锁
  70. 进阶-锁-表级锁-意向锁-测试
  71. 进阶-锁-行级锁-介绍
  72. 进阶-锁-行级锁-行锁
  73. 进阶-锁-行级锁-间隙锁&临键锁1
  74. 进阶-锁-行级锁-间隙锁&临键锁2
  75. 进阶-锁-小结
  76. 进阶-InnoDB引擎-逻辑存储结构
  77. 进阶-InnoDB引擎-架构-内存结构1
  78. 进阶-InnoDB引擎-架构-内存结构2
  79. 进阶-InnoDB引擎-架构-磁盘结构
  80. 进阶-InnoDB引擎-架构-后台线程
  81. 进阶-InnoDB引擎-事务原理-概述
  82. 进阶-InnoDB引擎-事务原理-redolog
  83. 进阶-InnoDB引擎-事务原理-undolog
  84. 进阶-InnoDB引擎-MVCC-基本概念
  85. 进阶-InnoDB引擎-MVCC-隐藏字段
  86. 进阶-InnoDB引擎-MVCC-undolog版本链
  87. 进阶-InnoDB引擎-MVCC-readview介绍
  88. 进阶-InnoDB引擎-MVCC-原理分析(RC级别)
  89. 进阶-InnoDB引擎-MVCC-原理分析(RR级别)
  90. 进阶-InnoDB引擎-小结
  91. 进阶-MySQL管理-系统数据库介绍
  92. 进阶-MySQL管理-常用工具1
  93. 进阶-MySQL管理-常用工具2
  94. 进阶-MySQL管理-小结
  95. 进阶篇总结

运维篇

  1. 运维-课程介绍
  2. 运维-日志-错误日志
  3. 运维-日志-二进制日志
  4. 运维-日志-查询日志
  5. 运维-日志-慢查询日志
  6. 运维-主从复制-概述
  7. 运维-主从复制-原理
  8. 运维-主从复制-主库配置
  9. 运维-主从复制-从库配置
  10. 运维-主从复制-测试
  11. 运维-分库分表-介绍
  12. 运维-分库分表-介绍-拆分方式
  13. 运维-分库分表-MyCat概述-安装
  14. 运维-分库分表-MyCat概述-核心概念
  15. 运维-分库分表-MyCat入门
  16. 运维-分库分表-MyCat入门-测试
  17. 运维-分库分表-MyCat配置1
  18. 运维-分库分表-MyCat配置2
  19. 运维-分库分表-Mycat分片-垂直分库
  20. 运维-分库分表-Mycat分片-垂直分库-测试
  21. 运维-分库分表-Mycat分片-水平分表
  22. 运维-分库分表-分片规则-范围分片
  23. 运维-分库分表-分片规则-取模分片
  24. 运维-分库分表-分片规则-一致性hash算法
  25. 运维-分库分表-分片规则-枚举分片
  26. 运维-分库分表-分片规则-应用指定算法
  27. 运维-分库分表-分片规则-固定hash算法
  28. 运维-分库分表-分片规则-字符串hash解析
  29. 运维-分库分表-分片规则-按天分片
  30. 运维-分库分表-分片规则-按自然月分片
  31. 运维-分库分表-Mycat管理与监控-原理
  32. 运维-分库分表-Mycat管理工具
  33. 运维-分库分表-MyCat监控1
  34. 运维-分库分表-MyCat监控2
  35. 运维-分库分表-总结
  36. 运维-读写分离-介绍
  37. 运维-读写分离-一主一从准备
  38. 运维-读写分离-一主一从读写分离
  39. 运维-读写分离-双主双从介绍
  40. 运维-读写分离-双主双从搭建
  41. 运维-读写分离-双主双从读写分离
  42. 运维-读写分离-总结
  43. 运维篇总结