#其实自学mysql也不是特别难,就记住常用句子就行,不要想一口气学会mysql,学会拆分小目标,这样去学习就更容易理解和参悟

目录

# 🚀 MySQL 新手入门指南:从连接到增删改查

## 一、先搞懂几个基本概念

## 二、MySQL 极简操作流程

##三、核心 SQL 语句:增删改查 (CRUD)

1. 增:INSERT INTO (上架新商品)

2. 删:DELETE FROM (清空或移除商品)

3. 改:UPDATE SET (修改商品属性)

4. 查:SELECT (最常用、最强大) (查看商品)

5.基础查询

6.条件查询 (WHERE)

7.排序和限制

##四、新手必知的最佳实践

##五、进阶路线图


# 🚀 MySQL 新手入门指南:从连接到增删改查

## 一、先搞懂几个基本概念

在写代码前,先在大脑里建立一个**类比模型**,这会让你后面学起来事半功倍。

-   **数据库服务器**:就像一个大仓库,里面可以存放很多货物(数据)。你的 MySQL 软件就是这个“仓库”。
-   **数据库**:仓库里一个个独立的“房间”,比如一个房间叫“淘宝”,另一个叫“微信”。不同项目的数据要放在不同房间里,互不干扰。
-   **表**:“房间”里的“货架”,用来存放同一类东西。比如“用户表”就专门存放所有用户的信息。
-   **行**(记录)与**列**(字段):
    -   **行**:“货架”上的每一件具体商品,比如“张三”这个用户的完整信息。
    -   **列**:商品的属性,比如“用户名”、“年龄”、“手机号”,决定了这件商品长什么样。

所以,我们操作数据的流程就是:**进入仓库 → 打开某个房间 → 找到对应货架 → 操作上面的商品**。

---

## 二、MySQL 极简操作流程

### 1. 连接服务器

你需要先通过命令行或图形化工具进入“仓库”。
```bash
mysql -u 用户名 -p

输入密码后回车,看到 mysql> 提示符就说明你成功进来了。

### 2. 数据库基本操作(就是选房间)

-- 看看仓库里有哪些房间
SHOW DATABASES;

-- 创建你自己的新房间,名字叫 my_study
CREATE DATABASE my_study;

-- 进入这个房间(这一步很重要,不进去没法干活)
USE my_study;

### 3. SQL 书写要点

  • ##大小写不敏感SELECT 和 select 效果一样,但建议关键字用大写,表名、列名用小写,这样更清晰。

  • 必须用分号结尾; 是一句 SQL 结束的标志,别忘了。

  • 字符串用单引号'小明',不能用双引号。

##三、核心 SQL 语句:增删改查 (CRUD)

CRUD 是数据操作的灵魂,代表创建(Create)、读取(Read)、更新(Update)和删除(Delete)。

假设我们建好了“货架”——一张学生表:

CREATE TABLE student (
    id INT PRIMARY KEY AUTO_INCREMENT,  -- 学号,整数,自动增长,不用我们管
    name VARCHAR(50) NOT NULL,          -- 姓名,最长50个字符,不能为空
    age INT,                            -- 年龄,整数
    grade VARCHAR(10) DEFAULT '一年级'   -- 年级,不填默认为'一年级'
);

1. 增:INSERT INTO (上架新商品)

向表里添加一条或多条数据。

-- 插入完整的一条记录(按表的列顺序给值)
INSERT INTO student VALUES (1, '小明', 20, '二年级');

-- 推荐方式:明确指定要插入哪几列(更安全清晰)
INSERT INTO student (name, age) VALUES ('小红', 19);

-- 一次插入多条
INSERT INTO student (name, age, grade) VALUES
('小刚', 21, '三年级'),
('小丽', 18, '一年级');

2. 删:DELETE FROM (清空或移除商品)

-- 删除满足条件的数据(一定要加 WHERE!)
DELETE FROM student WHERE name = '小明';

-- 删除表中所有数据,但保留表结构(这是一个危险操作!)
DELETE FROM student;

3. 改:UPDATE SET (修改商品属性)

-- 把小红改名为'小红红',年龄改为20
UPDATE student SET name = '小红红', age = 20 WHERE name = '小红';

-- 所有人年级统一升一级(不带WHERE会影响全表,要特别小心)
UPDATE student SET grade = '高年级';

4. 查:SELECT (最常用、最强大) (查看商品)

这是你使用频率最高的语句,它的花样最多。

5.基础查询

-- 查所有列(* 代表全部)
SELECT * FROM student;

-- 只查姓名和年龄列
SELECT name, age FROM student;

6.条件查询 (WHERE)

这是 SQL 的核心能力——筛选出你真正需要的数据。

-- 找出年龄为20的学生
SELECT * FROM student WHERE age = 20;

-- 找出年龄大于18,并且年级是‘一年级’的学生
SELECT * FROM student WHERE age > 18 AND grade = '一年级';

-- 找出名字叫‘小明’或者‘小红’的学生
SELECT * FROM student WHERE name = '小明' OR name = '小红';

-- 找出年龄在18到21之间的(包含边界)
SELECT * FROM student WHERE age BETWEEN 18 AND 21;

7.排序和限制

-- 按年龄从小到大排(升序 ASC,默认的)
SELECT * FROM student ORDER BY age ASC;

-- 按年龄从大到小排(降序 DESC),只看前2条
SELECT * FROM student ORDER BY age DESC LIMIT 2;

##四、新手必知的最佳实践

  1. 操作前先备份:在修改或删除重要数据前,最好先 SELECT 看一眼你即将影响的数据。

    -- 先看,确认要删的是谁
    SELECT * FROM student WHERE name = '小明';
    -- 再删
    DELETE FROM student WHERE name = '小明';

  2. WHERE 是保命符:写 UPDATE 和 DELETE 时,先写 WHERE 条件,再补全前面的语句。没有 WHERE 的更新或删除,会作用到整张表,是新手最常见的“车祸现场”。

  3. SELECT * 别乱用:在大型项目中,数据量巨大,查所有列会严重拖慢速度,还可能暴露敏感字段。养成只查所需列的好习惯。

  4. 善用图形化工具:一开始记不住命令很正常。可以使用 NavicatDBeaver 或官方的 MySQL Workbench 这类工具。它们能让你像操作 Excel 一样管理数据库,同时还能看到它自动生成的 SQL 语句,是反向学习的好方法。

##五、进阶路线图

当你对上面的基础操作游刃有余后,建议按以下顺序深入学习:

  1. 多表联查JOIN 操作,从多个“货架”组合数据。

  2. 聚合与分组COUNTSUMAVGGROUP BYHAVING,用于统计分析。

  3. 索引:理解它是如何让查询变快的。

  4. 子查询:一个查询语句嵌套在另一个里面。

  5. 事务:确保一组操作要么全成功,要么全失败,保证数据一致性。

自学的同学,看这个就差不多了,然后结合vibe coding工具实践,有想法就可以去实践。

更多推荐