当前位置: 首页 > article >正文

七天MySQL密集学习计划

七天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小时
  • 做大量实践
  • 不要囫囵吞枣,理解每个概念
  • 遇到不懂的立即查询和实践

特别提醒

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

http://www.kler.cn/a/592825.html

相关文章:

  • 使用 request 的 axios 状态码分析
  • flutter 专题 一百零三
  • 51c自动驾驶~合集23
  • conda相关总结
  • 鸿蒙NEXT开发实战教程—文字识别
  • github上传操作简单说明
  • 查看 MongoDB 数据库中的表和数据
  • 音视频学习(二十九):YUV与RGB
  • 计算机网络笔记(三)——1.3互联网的组成
  • 再学:abi编码 地址类型与底层调用
  • AI小白的第六天:必要的数学知识(一)
  • node.js判断在线图片链接是否是webp,并将其转格式后上传
  • jmeter将返回的数据写入csv文件
  • 基于MySQL的创建<resultMap>和查询条件<if test>
  • 函数闭包的学习
  • 分治-快速排序系列一>快速排序
  • ESP8266 与 ARM7 接口-LPC2148 创建 Web 服务器以控制 LED
  • 穿越禁区:前端跨域通信的艺术与实践
  • C语言每日一练——day_7
  • Netty基础—6.Netty实现RPC服务二