七天MySQL密集学习计划

发布于:2025-03-21 ⋅ 阅读:(33) ⋅ 点赞:(0)

七天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更新数据
  • DELETE删除数据
  • 事务基础
-- 更新数据
UPDATE users SET email = 'new_email@example.com' WHERE id = 1;

-- 删除数据
DELETE FROM users WHERE id = 2;

下午(子查询和复杂查询)

  • 子查询
  • 复杂WHERE条件
  • IN、EXISTS操作
-- 子查询示例
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分析
  • 常见性能问题
  • 基本优化策略
EXPLAIN SELECT * FROM users WHERE username = 'zhangsan';

第6天:实战项目

全天项目实践

  • 设计一个简单的图书管理系统数据库
  • 包括:
    1. 图书表
    2. 读者表
    3. 借阅记录表
  • 完成增删改查全部操作
  • 练习复杂查询

第7天:进阶和总结

上午(高级特性)

  • 视图
  • 存储过程基础
  • 触发器简介

下午(总复习和实践)

  • 回顾关键知识点
  • 模拟面试题
  • 解决实际编程问题

学习资源

  1. 在线教程
  • 菜鸟教程MySQL
  • W3School MySQL
  • 慕课网MySQL视频
  1. 练习平台
  • SQLZoo
  • LeetCode数据库题库

学习建议

  • 每天至少编写2-3小时
  • 做大量实践
  • 不要囫囵吞枣,理解每个概念
  • 遇到不懂的立即查询和实践

特别提醒

  • 这是高强度学习计划
  • 建议有编程基础
  • 需要极大的学习毅力
  • 重点在于理解和实践,而非死记硬背

网站公告

今日签到

点亮在社区的每一天
去签到