2. MySQL
🐬 MySQL 入门教程
本教程覆盖 MySQL 的基础知识、安装方法、常用命令、SQL 语法及数据库管理,适用于入门学习、教学培训及项目初学者。
📖 1. 什么是 MySQL?
- MySQL 是一个开源的关系型数据库管理系统(RDBMS),使用 SQL(结构化查询语言)作为操作语言。
- 支持多用户并发访问,数据可靠性高。
- 广泛应用于 Web 开发(LAMP 架构:Linux + Apache + MySQL + PHP)。
⚙️ 2. MySQL 安装
2.1 Windows 安装
- 官方地址:https://dev.mysql.com/downloads/
- 推荐使用 MySQL Installer,附带图形界面,便于操作
- 安装时记得设置 root 密码
2.2 Ubuntu 安装
sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation
2.3 启动/停止服务
# 启动
sudo systemctl start mysql
# 停止
sudo systemctl stop mysql
# 开机自启
sudo systemctl enable mysql
🔐 3. 登录与退出
# 登录MySQL(推荐使用root用户)
mysql -u root -p
# 输入密码后进入MySQL命令行
# 退出MySQL
exit;
🗂 4. 数据库操作
创建数据库
CREATE DATABASE school;
查看所有数据库
SHOW DATABASES;
使用数据库
USE school;
删除数据库
DROP DATABASE school;
🧱 5. 数据表操作
创建数据表
CREATE TABLE students (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
age INT,
gender ENUM('M', 'F'),
email VARCHAR(100)
);
查看所有表
SHOW TABLES;
查看表结构
DESC students;
删除表
DROP TABLE students;
🧮 6. 数据操作(增删改查)
插入数据
INSERT INTO students (name, age, gender, email)
VALUES ('Alice', 20, 'F', 'alice@example.com');
查询数据
SELECT * FROM students;
SELECT name, age FROM students WHERE gender = 'F';
更新数据
UPDATE students
SET age = 21
WHERE name = 'Alice';
删除数据
DELETE FROM students
WHERE id = 1;
📊 7. 条件与排序
WHERE 条件
SELECT * FROM students WHERE age > 18;
排序 ORDER BY
SELECT * FROM students ORDER BY age DESC;
模糊查询 LIKE
SELECT * FROM students WHERE name LIKE 'A%';
限制结果 LIMIT
SELECT * FROM students LIMIT 5;
📚 8. 聚合与分组
常见函数
SELECT COUNT(*) FROM students;
SELECT AVG(age) FROM students;
分组 GROUP BY
SELECT gender, COUNT(*) FROM students GROUP BY gender;
条件分组 HAVING
SELECT gender, COUNT(*) AS num
FROM students
GROUP BY gender
HAVING num > 1;
🔗 9. 表连接(JOIN)
-- 假设有 courses 表
SELECT s.name, c.course_name
FROM students s
JOIN courses c ON s.id = c.student_id;
🔐 10. 用户与权限管理
创建用户
CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';
授权
GRANT ALL PRIVILEGES ON school.* TO 'testuser'@'localhost';
查看权限
SHOW GRANTS FOR 'testuser'@'localhost';
撤销权限
REVOKE ALL PRIVILEGES ON school.* FROM 'testuser'@'localhost';
🧰 11. 常用工具与命令
导出数据库(备份)
mysqldump -u root -p school > school.sql
导入数据库(恢复)
mysql -u root -p school < school.sql
🧠 12. 小技巧
使用
\G
查看格式化输出(适用于长行)SELECT * FROM students\G;
忘记密码?使用安全模式重置 root 密码
- 设置默认字符集为
utf8mb4
避免中文乱码
📘 13. 推荐学习资源
- 官方文档:https://dev.mysql.com/doc/
- W3Schools MySQL 教程
- 菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.html
- 《MySQL必知必会》
- B站搜索 “MySQL 全套课程”
💡 建议多练多查多思考,学会用 SQL 解决实际问题才是关键!