← 返回上一页

第1章: MySQL 简介与安装

了解 MySQL 数据库及其安装配置

什么是 MySQL?

MySQL 是世界上最流行的开源关系型数据库管理系统(RDBMS),由瑞典 MySQL AB 公司开发,现属于 Oracle 公司。

MySQL 的特点

💡 提示: MySQL 读作 "My S-Q-L" 或 "My Sequel"。

MySQL 的应用场景

关系型数据库概念

数据库(Database)

存储数据的仓库,按照一定的数据结构来组织、存储和管理数据。

表(Table)

数据库中存储数据的基本单位,由行和列组成。

字段(Field/Column)

表中的列,定义数据的类型和属性。

记录(Record/Row)

表中的行,表示一条完整的数据。

主键(Primary Key)

唯一标识表中每条记录的字段。

数据库结构示意图

数据库(Database)
表(Table):用户表
ID(主键) 姓名 年龄 邮箱
1 张三 25 zhang@example.com
2 李四 30 li@example.com

↑ 记录(Row)

← 字段(Column)→

MySQL 安装

Windows 系统

  1. 访问 MySQL 官网
  2. 下载 MySQL Installer
  3. 运行安装程序,选择 "Developer Default"
  4. 设置 root 用户密码
  5. 完成安装

macOS 系统

# 使用 Homebrew 安装 brew install mysql # 启动 MySQL 服务 brew services start mysql # 设置 root 密码 mysql_secure_installation

Linux 系统(Ubuntu/Debian)

# 更新包列表 sudo apt update # 安装 MySQL sudo apt install mysql-server # 启动 MySQL 服务 sudo systemctl start mysql # 设置开机自启 sudo systemctl enable mysql # 安全配置 sudo mysql_secure_installation

连接 MySQL

命令行连接

# 连接到 MySQL mysql -u root -p # 输入密码后进入 MySQL 命令行 Enter password: **** mysql>

常用命令

-- 查看所有数据库 SHOW DATABASES; -- 查看 MySQL 版本 SELECT VERSION(); -- 查看当前用户 SELECT USER(); -- 退出 MySQL EXIT; -- 或 QUIT;

SQL 语言分类

SQL(Structured Query Language)是操作数据库的标准语言,分为四大类:

1. DDL - 数据定义语言

用于定义数据库结构,包括创建、修改、删除数据库对象。

-- CREATE: 创建 CREATE DATABASE mydb; CREATE TABLE users (id INT, name VARCHAR(50)); -- ALTER: 修改 ALTER TABLE users ADD COLUMN age INT; -- DROP: 删除 DROP TABLE users; DROP DATABASE mydb; -- TRUNCATE: 清空表 TRUNCATE TABLE users;

2. DML - 数据操作语言

用于操作表中的数据,包括插入、更新、删除。

-- INSERT: 插入数据 INSERT INTO users (name, age) VALUES ('张三', 25); -- UPDATE: 更新数据 UPDATE users SET age = 26 WHERE name = '张三'; -- DELETE: 删除数据 DELETE FROM users WHERE name = '张三';

3. DQL - 数据查询语言

用于查询数据,是最常用的SQL类型。

-- SELECT: 查询数据 SELECT * FROM users; SELECT name, age FROM users WHERE age > 20; -- 支持排序、分组、聚合等 SELECT COUNT(*) FROM users; SELECT * FROM users ORDER BY age DESC;

4. DCL - 数据控制语言

用于控制数据库访问权限。

-- GRANT: 授权 GRANT SELECT, INSERT ON mydb.* TO 'user'@'localhost'; -- REVOKE: 撤销权限 REVOKE INSERT ON mydb.* FROM 'user'@'localhost';
💡 记忆技巧: DDL管结构(建改删),DML管数据(增改删),DQL管查询(查),DCL管权限(授权)。

数据库设计范式

范式是设计数据库的规范,目的是减少数据冗余,提高数据一致性。

第一范式(1NF)

确保每列都是不可分割的原子值。

❌ 违反1NF:

idnamephone
1张三13800138000, 13900139000

✓ 符合1NF:

idnamephone
1张三13800138000
2张三13900139000

第二范式(2NF)

在1NF基础上,消除非主键字段对主键的部分依赖。

💡 简单理解: 每个表只描述一件事,不要把多个主题混在一个表里。

第三范式(3NF)

在2NF基础上,消除非主键字段对主键的传递依赖。

-- ❌ 违反3NF:学生表中包含班级名称和班主任 CREATE TABLE students_bad ( id INT PRIMARY KEY, name VARCHAR(50), class_id INT, class_name VARCHAR(50), -- 依赖class_id class_teacher VARCHAR(50) -- 依赖class_name ); -- ✓ 符合3NF:拆分为两个表 CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), class_id INT ); CREATE TABLE classes ( id INT PRIMARY KEY, name VARCHAR(50), teacher VARCHAR(50) );

MySQL 客户端工具

工具 特点 平台
MySQL Workbench 官方图形化工具 跨平台
Navicat 功能强大,界面友好 跨平台(收费)
phpMyAdmin Web 界面管理 浏览器
DBeaver 开源免费,支持多种数据库 跨平台
DataGrip JetBrains 出品 跨平台(收费)

🎯 SQL 命令模拟器

在下面输入 SQL 命令并执行(模拟环境):

执行结果:

等待执行...

📝 章节练习

练习 1:SQL语言分类

SELECT 语句属于哪种 SQL 类型?





练习 2:数据库范式

第一范式要求每列必须是:





练习 3:判断题

1. MySQL 是关系型数据库管理系统。

2. 一个表可以有多个主键。

练习 4:客户端工具

以下哪个不是 MySQL 客户端工具?





练习 5:SQL 命令填空

查看所有数据库的命令是:

本章小结

← 返回上一页 下一章:数据库和表操作 →