MySQL 总结|MySQL 从入门到高级

下面是一份 MySQL 从入门到高级的完整知识体系总结
这可以当作一个 MySQL 学习路线 + 技术全景图


一、MySQL 基础(入门阶段)

这一阶段主要掌握 SQL 基础语法和基本操作

1 SQL 基本分类

类型含义
DDL数据定义语言
DML数据操作语言
DQL数据查询语言
DCL数据控制语言

示例:

CREATE TABLE users(id INT);
INSERT INTO users VALUES(1);
SELECT * FROM users;
GRANT SELECT ON db.* TO user;


2 基础查询语法

最核心查询结构:

SELECT 字段
FROM 表
WHERE 条件
GROUP BY 分组
HAVING 分组条件
ORDER BY 排序
LIMIT 分页;

常见查询:

SELECT name FROM users WHERE age > 18;
SELECT * FROM users ORDER BY create_time DESC LIMIT 10;


3 CRUD 操作

插入数据

INSERT INTO users(name,age)
VALUES('Tom',20);

修改数据

UPDATE users
SET age = 21
WHERE id = 1;

删除数据

DELETE FROM users
WHERE id = 1;


二、MySQL 进阶(数据库设计)

这一阶段重点是 表设计与数据类型


1 数据类型

常见数据类型:

类型示例
整数INT / BIGINT
字符串VARCHAR
金额DECIMAL
时间DATETIME
文本TEXT

示例表:

CREATE TABLE users(
 id BIGINT PRIMARY KEY,
 username VARCHAR(50),
 balance DECIMAL(10,2),
 create_time DATETIME
);


2 约束(Constraint)

常见约束:

约束作用
PRIMARY KEY主键
UNIQUE唯一
NOT NULL非空
DEFAULT默认值
FOREIGN KEY外键

3 索引(Index)

索引是 MySQL 性能核心

创建索引:

CREATE INDEX idx_name
ON users(name);

常见索引:

类型说明
主键索引PRIMARY KEY
唯一索引UNIQUE
普通索引INDEX
联合索引多列索引

三、MySQL 高级查询

高级 SQL 是开发中最重要的部分。


1 JOIN 联表查询

SELECT u.name, o.order_id
FROM users u
JOIN orders o
ON u.id = o.user_id;

常见 JOIN:

类型含义
INNER JOIN内连接
LEFT JOIN左连接
RIGHT JOIN右连接

2 子查询

SELECT name
FROM users
WHERE id IN (
 SELECT user_id FROM orders
);


3 聚合统计

SELECT city, COUNT(*)
FROM users
GROUP BY city;


4 窗口函数(MySQL 8)

例如排名:

SELECT name,
RANK() OVER (ORDER BY salary DESC)
FROM employees;


四、MySQL 内置函数

MySQL 内置函数非常多。

主要类别:

类别示例
字符串函数CONCAT
数值函数ROUND
日期函数NOW
条件函数IF
聚合函数COUNT

示例:

SELECT CONCAT(first_name,last_name)
FROM users;


五、MySQL 架构原理

MySQL 内部结构:

Client
  │
Connection
  │
SQL Parser
  │
Optimizer
  │
Execution Engine
  │
Storage Engine

核心组件:

模块作用
ParserSQL解析
Optimizer查询优化
Executor执行
Storage Engine存储

六、存储引擎

最重要存储引擎:

引擎特点
InnoDB事务支持
MyISAM读快
Memory内存表

默认引擎:

InnoDB


InnoDB 核心特性

特性说明
行级锁高并发
MVCC多版本并发
事务支持ACID
外键支持数据一致

七、事务与并发控制

事务(Transaction)具有 ACID 特性:

特性含义
A原子性
C一致性
I隔离性
D持久性

事务示例:

START TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE id=1;
UPDATE accounts SET balance = balance + 100 WHERE id=2;

COMMIT;


事务隔离级别

隔离级别问题
READ UNCOMMITTED脏读
READ COMMITTED不可重复读
REPEATABLE READ默认
SERIALIZABLE串行

八、MySQL 性能优化

性能优化核心:

SQL优化
索引优化
架构优化


1 SQL 优化

避免:

SELECT *

推荐:

SELECT id,name


2 索引优化

常见原则:

最左前缀原则
避免函数索引
避免隐式类型转换


3 EXPLAIN

查看 SQL 执行计划:

EXPLAIN SELECT * FROM users WHERE id=1;

关键字段:

字段说明
type查询类型
key使用索引
rows扫描行数

九、MySQL 高级架构

生产环境通常采用:

主从复制
读写分离
分库分表


1 主从复制

结构:

Master
   ↓
Replica

用途:

读写分离
备份
高可用


2 分库分表

解决问题:

数据量过大
查询慢

方案:

水平分表
垂直分库


十、MySQL 学习路线总结

MySQL 技术体系:

SQL基础
↓
数据库设计
↓
索引优化
↓
事务与锁
↓
存储引擎
↓
查询优化
↓
高可用架构


十一、MySQL 开发核心技能

真正工作中最重要的能力:

技能重要程度
SQL 编写⭐⭐⭐⭐⭐
索引设计⭐⭐⭐⭐⭐
SQL 优化⭐⭐⭐⭐
数据库设计⭐⭐⭐⭐
架构设计⭐⭐⭐

✅ 总结

学习 MySQL 可以分为五个阶段:

入门
SQL基础

进阶
数据库设计

高级
索引 + 查询优化

专家
事务 + 锁 + InnoDB

架构
分库分表 + 高可用

掌握这些基本可以覆盖 90% 的后端数据库开发场景


如果你愿意,我可以再整理一份 “MySQL 核心知识脑图(完整版,一张图看懂 MySQL 全体系)”,很多后端工程师会用它来复习和面试准备。

文章已创建 5103

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部