MySql数据库
前言:
本文章为MySql数据库的基础知识大纲,是本人学习后的知识总结,如有遗漏不足,欢迎指正,具体内容请移步相关文档及链接:
文档链接: MySql数据库
【如果遇到密码,统一为:1230】
下面内容为文章目录,可以先预览后再决定是否详细查看文档
目录
基础
-
SQL通用
1.1 SQL语句书写规范
1.2 注释- 1.2.1 单行注释
- 1.2.2 多行注释
1.3 数值类型
1.4 MySQL大小写规则
-
SQL语言分类
2.1 DDL(数据库定义语言)- 2.1.1 表操作
- 创建表
- 修改表(数据类型、字段名等)
- 删除表
- 2.1.2 库操作
- 查询所有数据库
- 创建/删除数据库
- 使用数据库
2.2 DML(数据库操作语言)
- 2.2.1 添加数据(INSERT)
- 2.2.2 修改数据(UPDATE)
- 2.2.3 删除数据(DELETE)
2.3 DQL(数据库查询语言) - 2.3.1 基本查询(SELECT)
- 2.3.2 条件查询(WHERE)
- 2.3.3 聚合函数
- 2.3.4 分组(GROUP BY)
- 2.3.5 排序(ORDER BY)
- 2.3.6 分页(LIMIT)
- 2.3.7 执行顺序
2.4 DCL(数据库控制语言) - 2.4.1 用户管理
- 2.4.2 权限控制
- 2.1.1 表操作
-
循环结构
3.1 IF
3.2 CASE
3.3 WHILE
3.4 REPEAT
3.5 LOOP -
函数
4.1 字符串函数
4.2 数值函数
4.3 日期函数
4.4 流程控制函数 -
约束
5.1 非空约束(NOT NULL)
5.2 唯一约束(UNIQUE)
5.3 主键约束(PRIMARY KEY)
5.4 默认约束(DEFAULT)
5.5 检查约束(CHECK)
5.6 外键约束(FOREIGN KEY) -
多表查询
6.1 多表关系- 一对多
- 多对多
- 一对一
6.2 连接查询 - 内连接(INNER JOIN)
- 外连接(LEFT/RIGHT JOIN)
- 自连接
6.3 子查询 - 标量子查询
- 列子查询
- 行子查询
- 表子查询
6.4 联合查询(UNION)
-
事务
7.1 事务简介
7.2 事务操作(BEGIN/COMMIT/ROLLBACK)
7.3 事务特性(ACID)
7.4 并发事务问题- 脏读
- 不可重复读
- 幻读
7.5 事务隔离级别
进阶
-
存储引擎
1.1 存储引擎特点- InnoDB
- MyISAM
- Memory
1.2 存储引擎选择
-
索引
2.1 索引结构- B-Tree
- B+Tree
- Hash
2.2 索引分类 - 主键索引
- 唯一索引
- 常规索引
2.3 索引语法(创建/查看/删除)
2.4 索引优化 - 联合索引
- 覆盖索引
- 前缀索引
2.5 索引设计原则
-
SQL优化
3.1 插入数据优化
3.2 主键优化
3.3 ORDER BY优化
3.4 GROUP BY优化
3.5 LIMIT优化
3.6 UPDATE优化 -
视图(VIEW)
4.1 视图语法(创建/查询/修改/删除)
4.2 视图检查选项(CASCADED/LOCAL)
4.3 视图更新限制 -
存储过程(PROCEDURE)
5.1 存储过程语法
5.2 变量与流程控制
5.3 游标与异常处理 -
触发器(TRIGGER)
6.1 触发器语法(创建/查看/删除)
6.2 OLD与NEW关键字 -
锁
7.1 全局锁
7.2 表级锁- 表锁
- 元数据锁(MDL)
- 意向锁
7.3 行级锁 - 行锁(Record Lock)
- 间隙锁(Gap Lock)
- 临键锁(Next-Key Lock)
-
InnoDB引擎
8.1 逻辑存储结构
8.2 事务原理- Redo Log
- Undo Log
8.3 MVCC(多版本并发控制) - 隐藏字段
- ReadView
- 版本链
-
MySQL管理
9.1 系统数据库
9.2 常用工具- mysqladmin
- mysqldump
- mysqlbinlog
- mysqlimport
-
运维相关
10.1 主从复制
10.2 分库分表(MyCat)
10.3 读写分离





