01.mysql安装 1. 在主机上安装mysql 2. 在docker安装mysql (1) 默认配置安装mysql (2) 自定义配置安装mysql 02.数据类型 1. 整型 2. 浮点型 3. 定点型 4. 字符串 5. 枚举和集合 6. 日期时间类型 03.库和数据表 1. 库 2. 数据表 2.1 表的列操作 (1) 查看表字段信息 (2) 查看表的所有信息 (3) 查看当前库下所有表信息 (4) 创建表 (5) 在原表上添加新的列 (6) 删除表 (7) 删除列 (8) 清空表内容 (9) 修改表名称 (10) 修改列属性 (11) 修改列名称和属性 (12) 添加主键约束 (13) 删除主键约束 (14) 删除查询缓存 2.2 列的属性 (1) 列的默认属性 (2) 主键与自增 2.3 表引擎 04.表的增删改查 1. insert 插入数据操作 2. delete 删除数据操作 3. update 修改数据操作 4. select 查询数据操作 05.表的综合查询 1. where 条件约束 2. group 数据分组 3. having 筛选数据 4. order by 排序和limit限制取出条目 5. 子查询 (1) where子查询 (2) from子查询 (3) exists子查询 子查询练习 6. join连接查询 (1) INNER JOIN内连接查询 (2) LEFT JOIN左连接查询 (3) RIGHT JOIN右连接查询 连接查询练习 7. union查询 06.索引 1. 索引长度 2. 单列索引 3. 多列索引 4. 冗余索引 5. 索引操作 07.事务 1. 事务特性(ACID) 2. 设置事务级别 08.mysql用户与权限管理 1. 用户连接mysql服务器 2. 创建、授权和回收用户 3. 跳过mysql认证登录方法 09.mysql优化 1. 表的优化 (1) 字段类型优先选择顺序 (2) 字段长度够用就行(tinyint、 varchar(N)) (3) 避免使用null (4) 对于字段属性分类数量确定而且数量比较少时,优先选择枚举类型enum,例如性别、学历等 2. 索引优化 (1) B-tree索引 (2) hash索引 (3) 聚簇索引 (4) 多列索引 (5) 伪哈希索引 (6) 延时索引 (7) 冗余索引 (8) 索引的长度和区分度 (9) 索引与排序 (10) 索引碎片和维护 10.mysql优化分析 1. 获取查询和连接数量 2. mysql进程状态分布 3. 使用profile记录各个sql执行时间 4. 使用explain分析sql执行效果 5. 开启慢查询日志 11.表分区 1. 按范围来分区 2. 按散列点对表进行分区 12.mysql集群 1. 主从复制 2. 主主复制 3. 被动模式下主主复制 4. mysql集群负载均衡 (1) mysql-proxy说明 (2) 启动mysql-proxy (3) 设置读写分离mysql启动方式 13.开发中比较少用的功能 1. 触发器 2. 存储过程 (1) 声明变量 (2) 参数 (3) if条件控制结构 (4) case选择控制结构 (5) while循环结构 (6) repeat循环结构 3. 游标 14.数据库导入导出 1. 导出数据库 2. 导入数据库 15.客户端和服务端安全传输数据 1. 为什么需要安全连接 2. 客户端安全连接 (1) 没有强制使用ssl安全连接情况 (2) 强制所有用户使用ssl安全连接 (3) 未使用SS和使用SSL安全性对比 (4) 使用SSL前后性能对比 常见问题 常见问题