MySql
2023-06-28 14:05:54 0 举报
AI智能生成
MySql的学习大纲
作者其他创作
大纲/内容
基础
SQL
DDL
数据库的操作
表的操作:查询,修改,创建,删除
DML
数据的增加:INSERT
数据的修改:UPDATE
数据的删除:DELETE
DQL
基础查询:SELECT
条件查询:WHERE
分组查询:GROUP BY
排序查询:ORDER BY
分页查询:LIMIT
分组后条件查询:HAVING
聚合函数:COUNT,SUM,AVG,MIN,MAX
DCL
用户管理
权限控制
函数
字符串函数
CONCAT,LOWER,UPPER,LPAD,RPAD,TRIM,SUBSTRING
数值函数
CEIL,FLOOR,MOD,RAND,ROUND
日期函数
CURDATE,CURTIME,NOW,YEAR,MONTH,DAY,DATE_ADD,DATEDIFF
流程函数
IF,IFNULL,CASE[...] WHEN ... THEN ... ELSE... END
约束
非空约束:NOT NULL
主键约束:PRIMARY KEY
唯一约束:UNIQUE
默认约束:DEFAULT
检查约束(8.0.16版本后):CHECK
外键约束:FOREIGN KEY
多表查询
内连接
外连接
左外链接
右外连接
子查询
联合查询
事务
什么是事务
事务操作
开启事务;提交,回滚事务;
事务四大特性(ACID)
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
并发事务问题
脏读
不可重复度
幻读
事务的隔离级别
Read Uncommitted 读未提交
Read Committed 读已提交(Orcal默认)
Repeatable Read 可重复读(MySQL默认)
Serializable 串行化
进阶
存储引擎
Mysql的体系结构
连接层
服务层
引擎层
存储层
存储引擎是什么
存储引擎有哪些
InnoDB
MyISAM
Memroy等等
各存储引擎的特点
存储引擎的适应场景
索引
什么是索引
索引的结构
B+Tree
Hash
索引的分类
主键索引,唯一索引,普通索引,全文索引
聚簇索引,二级索引
索引的语法
SQL性能分析
执行频次
慢SQL日志
explain
profile
索引使用原则
联合索引的最左前缀原则
索引失效的情况
SQL提示:指定使用哪个索引
覆盖索引
回表查询
前缀索引
索引设计原则
SQL优化
插入数据优化
主键优化
order by优化
group by优化
limit优化
count优化
update优化
视图(VIEW)
为什么要使用视图
什么是视图
视图的语法
存储过程(PROCEDURE)
什么是存储过程
为什么要使用存储过程
操作存储过程的语句
存储过程中的流程语句
变量
if,case,while,repeat,loop,cursor
参数:in/out/inout
存储函数(FUNCTION)
是有返回值的存储过程(一般不使用,因为它能做的存储过程都可以做)
触发器(TRIGGER)
什么是触发器
操作触发器的语句
锁
什么是锁
全局锁
对整个数据库实例加锁,只允许读
表级锁
表锁
元数据锁
意向锁
行级锁
行锁
间隙锁
临键锁
InnoDB
逻辑存储结构
表空间
段
区(1M):包含64个页
页(16K)
行
架构
内存结构
缓冲区
磁盘结构
事务原理
事务四大特性的底层原理
原子性--undo log
持久性--redo log
一致性--undo log+redo log
隔离性--锁+MVCC
MVCC(多版本并发控制)
MVCC是干什么的
记录隐藏字段
undo log版本链
readView
0 条评论
下一页