七天MySQL密集学习计划
第1天:MySQL基础和环境搭建
上午(理论+安装)
- 数据库基本概念
- MySQL是什么
- 关系型数据库基础
- 安装MySQL
- Windows/Mac下安装步骤
- MySQL Workbench安装
- 基本配置和连接
下午(基础操作)
CREATE DATABASE study_db;
USE study_db;
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50),
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO users (username, email) VALUES
('zhangsan', 'zhangsan@example.com'),
('lisi', 'lisi@example.com');
第2天:基础查询和数据操作
上午(查询基础)
- SELECT语句详解
- WHERE条件
- 比较运算符
- 逻辑运算符
SELECT * FROM users;
SELECT username, email FROM users;
SELECT * FROM users WHERE id > 1;
SELECT * FROM users WHERE username LIKE 'z%';
下午(高级查询)
- 排序 ORDER BY
- 限制 LIMIT
- 聚合函数
- 分组 GROUP BY
SELECT * FROM users ORDER BY id DESC LIMIT 2;
SELECT COUNT(*) AS total_users FROM users;
SELECT AVG(id) AS avg_id FROM users;
第3天:表关系和联合查询
上午(表关系)
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
order_date DATE,
total_amount DECIMAL(10,2),
FOREIGN KEY (user_id) REFERENCES users(id)
);
下午(联合查询)
- INNER JOIN
- LEFT JOIN
- RIGHT JOIN
- 多表查询
SELECT users.username, orders.order_date, orders.total_amount
FROM users
INNER JOIN orders ON users.id = orders.user_id;
第4天:数据修改和高级查询
上午(数据修改)
UPDATE users SET email = 'new_email@example.com' WHERE id = 1;
DELETE FROM users WHERE id = 2;
下午(子查询和复杂查询)
SELECT * FROM users
WHERE id IN (SELECT user_id FROM orders WHERE total_amount > 100);
第5天:索引和性能优化
上午(索引)
CREATE INDEX idx_username ON users(username);
CREATE UNIQUE INDEX idx_email ON users(email);
下午(性能优化基础)
EXPLAIN SELECT * FROM users WHERE username = 'zhangsan';
第6天:实战项目
全天项目实践
- 设计一个简单的图书管理系统数据库
- 包括:
- 图书表
- 读者表
- 借阅记录表
- 完成增删改查全部操作
- 练习复杂查询
第7天:进阶和总结
上午(高级特性)
下午(总复习和实践)
学习资源
- 在线教程
- 菜鸟教程MySQL
- W3School MySQL
- 慕课网MySQL视频
- 练习平台
学习建议
- 每天至少编写2-3小时
- 做大量实践
- 不要囫囵吞枣,理解每个概念
- 遇到不懂的立即查询和实践
特别提醒
- 这是高强度学习计划
- 建议有编程基础
- 需要极大的学习毅力
- 重点在于理解和实践,而非死记硬背