MySQL教程 - 互联网最流行的关系型数据库
MySQL是全球使用最广泛的开源关系型数据库管理系统,以其稳定、高效、易用著称。从小型网站到大型互联网应用,MySQL都是数据存储的首选。本教程将从SQL基础到高级优化,助你全面掌握MySQL。
一、MySQL简介
MySQL由瑞典MySQL AB公司开发,现属Oracle公司。它采用客户端/服务器架构,支持标准SQL语言,是LAMP/LNMP架构的核心组件。WordPress、淘宝等知名应用都使用MySQL存储数据。
| 特性 | 描述 |
|---|---|
| 开源免费 | 社区版免费使用,社区活跃 |
| 高性能 | InnoDB引擎支持事务,查询效率高 |
| 跨平台 | 支持Windows、Linux、macOS等 |
| 易用性强 | SQL标准语法,学习成本低 |
二、你将学到什么
- SQL基础:DDL建表、DML增删改、DQL查询、DCL权限
- 查询进阶:多表JOIN、子查询、聚合函数、分组排序
- 索引优化:B+树索引、联合索引、索引策略、执行计划
- 事务与锁:ACID特性、隔离级别、MVCC、行锁表锁
- 存储引擎:InnoDB与MyISAM对比、引擎选择
- 运维管理:备份恢复、主从复制、读写分离、性能调优
三、代码示例
建表与查询的综合示例:
-- 创建用户表和订单表
CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX idx_email (email)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE orders (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL,
amount DECIMAL(10,2) NOT NULL,
status TINYINT DEFAULT 0 COMMENT "0=待支付,1=已支付,2=已取消",
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
INDEX idx_user_status (user_id, status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 多表联查:查询每个用户的订单总数和总金额
SELECT
u.username,
COUNT(o.id) AS order_count,
IFNULL(SUM(o.amount), 0) AS total_amount
FROM users u
LEFT JOIN orders o ON u.id = o.user_id AND o.status = 1
GROUP BY u.id, u.username
HAVING total_amount > 100
ORDER BY total_amount DESC;
四、适合人群
- 后端开发者,数据库是必备技能
- 数据分析师,需要使用SQL查询和处理数据
- 运维工程师,需要管理MySQL数据库
- 想要系统学习数据库知识的初学者
五、学习建议
MySQL是后端开发的核心技能,建议边学边练。先掌握基本的CRUD和多表查询,再深入索引优化和事务机制。重点学习EXPLAIN执行计划分析,这是SQL调优的关键。建议安装本地MySQL环境,多做实验加深理解。
🎯 开始你的MySQL学习之旅吧!
课程信息:
共 5 个章节,预计学习时长 340 分钟,已有 2600 人学习
暂无内容