一、基础操作:连接 / 退出数据库
1. 方式 1:可视化工具(MySQL Workbench,新手首选)
- 连接:打开 Workbench → 点击「Local Instance MySQL80」→ 输入 root 密码 → OK
- 执行 SQL:在查询编辑器写 SQL 语句 → 点击「闪电图标」执行 → 下方查看结果
- 退出:直接关闭 Workbench 即可
2. 方式 2:命令行(CMD/Terminal)
bash
运行
# 连接数据库(本地)
mysql -u root -p
# 输入密码后回车(密码不显示,正常输入即可)
# 连接远程数据库(可选,新手暂不用)
mysql -u 用户名 -p -h 远程IP -P 端口号
# 退出数据库
exit; # 或 quit;
二、核心操作:数据库(DB)的创建 / 查看 / 删除
1. 查看所有数据库
sql
SHOW DATABASES; -- 注意:SQL语句以分号结尾,大小写不敏感(推荐大写关键字)
效果:显示 MySQL 自带的默认数据库(如 mysql、information_schema)+ 你创建的数据库。
2. 创建数据库
sql
-- 基础语法:CREATE DATABASE 数据库名;
CREATE DATABASE student_db; -- 创建名为student_db的数据库
-- 进阶:指定字符集(避免中文乱码,必加!)
CREATE DATABASE student_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
utf8mb4:兼容所有中文 / 特殊字符(比 utf8 更完整)COLLATE:排序规则,utf8mb4_unicode_ci是通用推荐
3. 使用(切换)数据库
sql
USE student_db; -- 后续操作都针对student_db
4. 删除数据库(谨慎!不可逆)
sql
DROP DATABASE student_db; -- 删除整个数据库,包含所有表和数据
三、核心操作:数据表(Table)的创建 / 查看 / 修改 / 删除
1. 查看当前数据库的所有表
sql
SHOW TABLES;
2. 创建数据表
语法:
sql
CREATE TABLE 表名 (
字段名1 数据类型 [约束],
字段名2 数据类型 [约束],
...
);
实战案例(创建学生表):
sql
USE student_db; -- 先切换到目标数据库
CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT, -- 学号(主键,自增)
name VARCHAR(20) NOT NULL, -- 姓名(非空,最多20字符)
age TINYINT, -- 年龄(小整数,范围-128~127)
gender CHAR(1) DEFAULT '男', -- 性别(默认值"男")
score FLOAT(5,2), -- 成绩(总5位,小数2位,如98.50)
create_time DATETIME DEFAULT NOW() -- 创建时间(默认当前时间)
);
新手必懂字段说明:
表格
| 部分 | 解释 |
|---|---|
PRIMARY KEY |
主键:唯一标识一条数据(如学号),不能重复、不能为空 |
AUTO_INCREMENT |
自增:插入数据时无需手动填 id,自动从 1 开始递增 |
NOT NULL |
非空:该字段必须填值,不能留空 |
DEFAULT |
默认值:未填值时自动使用默认值 |
| 常用数据类型 | INT(整数)、VARCHAR(n)(可变字符串)、CHAR(n)(固定字符串)、FLOAT(m,d)(浮点数)、DATETIME(时间) |
3. 查看表结构(必查!确认字段是否正确)
sql
DESC student; -- 简写,全称:DESCRIBE student;
效果:显示表的字段名、类型、是否为空、主键、默认值等信息。
4. 修改数据表(常用)
sql
-- 1. 添加字段(新增"地址"字段)
ALTER TABLE student ADD COLUMN address VARCHAR(100);
-- 2. 修改字段类型(修改"age"为INT类型)
ALTER TABLE student MODIFY COLUMN age INT;
-- 3. 删除字段(删除"address"字段)
ALTER TABLE student DROP COLUMN address;
-- 4. 修改表名
ALTER TABLE student RENAME TO student_info;
5. 删除数据表(谨慎!)
sql
DROP TABLE student; -- 删除整张表,包含所有数据
四、核心操作:数据的增删改查(CRUD,重中之重)
1. 新增数据(CREATE)
sql
-- 方式1:指定字段插入(推荐,顺序可自定义)
INSERT INTO student (name, age, gender, score)
VALUES ('张三', 18, '男', 95.5);
-- 方式2:插入多条数据(高效)
INSERT INTO student (name, age, gender, score)
VALUES
('李四', 19, '女', 88.0),
('王五', 20, '男', 92.5);
-- 方式3:不指定字段(需按表字段顺序填值,不推荐)
INSERT INTO student VALUES (NULL, '赵六', 17, '男', 85.0, NOW());
-- id是自增主键,填NULL会自动生成
2. 查询数据(READ,最常用)
sql
-- 1. 查询所有字段、所有数据(*代表所有字段)
SELECT * FROM student;
-- 2. 查询指定字段
SELECT name, age, score FROM student;
-- 3. 条件查询(WHERE)
SELECT * FROM student WHERE age > 18; -- 年龄大于18
SELECT * FROM student WHERE gender = '女' AND score >= 90; -- 女生且成绩≥90
-- 4. 排序(ORDER BY,ASC升序/ DESC降序)
SELECT * FROM student ORDER BY score DESC; -- 按成绩降序
-- 5. 限制查询结果数量(LIMIT,新手常用)
SELECT * FROM student LIMIT 2; -- 只查前2条
3. 修改数据(UPDATE)
sql
-- 修改单条数据(必加WHERE,否则修改全表!)
UPDATE student SET score = 90 WHERE id = 1; -- 把id=1的成绩改为90
-- 修改多条数据
UPDATE student SET age = 20 WHERE gender = '女'; -- 所有女生年龄改为20
4. 删除数据(DELETE)
sql
-- 删除单条数据(必加WHERE,否则删除全表!)
DELETE FROM student WHERE id = 3; -- 删除id=3的记录
-- 删除全表数据(保留表结构,慎用)
DELETE FROM student;
五、实操建议
- 先创建数据库 → 再创建表 → 最后操作数据,按 "库→表→数据" 的顺序。
- 执行 SQL 前先检查:
- 修改 / 删除数据是否加了
WHERE条件(避免误操作); - 字段名、表名是否拼写正确;
- SQL 语句是否以分号结尾。
- 修改 / 删除数据是否加了
- 测试数据:先插入 2-3 条测试数据,再练习查询、修改、删除,熟悉逻辑。
总结
- MySQL 核心操作分三层:数据库(创建 / 切换 / 删除)→ 数据表(创建 / 改结构 / 删除)→ 数据(增删改查)。
- 数据操作中,
SELECT(查询)是最常用的,UPDATE/DELETE必须加WHERE条件避免误操作。 - 创建表时要指定合适的字段类型和约束(如
NOT NULL、PRIMARY KEY),字符集推荐utf8mb4避免中文乱码。