Table of contents Dive-into-MySQL 下载与安装 直接安装 Docker 登陆MySQL数据库 可视化工具 MySQL练习 力扣 组合两个表 第二高的薪水 第n高的薪水 分数排名 连续出现的数字 超过经理收入的员工 查找重复的电子邮箱 从不订购的客户 SQLZoo SELECT basics SELECT from WORLD Tutorial SELECT from Nobel Tutorial SELECT within SELECT Tutorial SUM and COUNT The JOIN operation More JOIN operations Using Null Self join 范式 第一范式 第二范式 第三范式 基准测试与性能分析 基准测试 基准测试工具 服务器性能 服务器优化 数据库操作 创建数据库 查看数据库 修改数据库 删除数据库 选择数据库 存储引擎 MySQL 5.7 支持的存储引擎 如何选择 MySQL 存储引擎 Innodb与MyIASM 用户操作 创建用户 修改用户 删除用户 用户授权 删除用户权限 全球化和本地化 数据库备份 数据库恢复 连接池 数据类型 MySQL数据类型简介 整数类型 小数类型 日期和时间类型 字符串类型 二进制类型 数据表操作 创建数据表 修改数据表 删除数据表 主键 外键约束 唯一约束 检查约束 默认值 非空约束 查看表中的约束 并发控制 MVCC-多版本并发控制 悲观锁与乐观锁 Next-Key锁 死锁 类型变量 分库分表 数据查询操作 查询数据 查询数据去重 设置别名 限制查询结果的记录条数 对查询结果进行排序 条件查询 常用运算符详解 内连接查询 外连接查询 图解MySQL内连接、外连接、左连接、右连接 union与union all 子查询 计算字段 拼接字段 执行算数计算 函数 文本处理函数 日期和时间处理函数 数值处理函数 聚集函数 AVG函数 COUNT函数 MAX函数 MIN函数 SUM函数 聚集不同值 组合聚集函数 IF语句 窗口函数 DENSE_RANK() 分组查询 指定过滤条件 正则表达式查询 数据操作 插入数据 修改数据 删除数据 视图简介 创建视图 修改视图 删除视图 自定义函数 存储过程简介 创建存储过程 修改存储过程 删除存储过程 触发器简介 创建触发器 修改和删除触发器 索引简介 索引的设计原则 创建索引 修改和删除索引 索引的使用场景 索引的数据结构 事务 并发事务带来的问题 事务隔离级别 分布式事务 mysql相关 权限 MySQL Binlog介绍 参考文献