一、MySQL简介
MySQL是一种开源的关系型数据库管理系统(RDBMS),广泛应用于Web开发、数据分析等领域。它以高性能、易用性和稳定性著称,支持多用户、多线程和多种存储引擎。
二、环境准备
1. 安装MySQL
Windows:下载MySQL Installer,选择"Developer Default"模式
Linux:
sudo apt-get install mysql-server
(Ubuntu/Debian)验证安装:命令行输入
mysql --version
2. 登录数据库
mysql -u root -p
输入密码后进入MySQL命令行
三、基础操作命令
1. 数据库操作
-- 创建数据库
CREATE DATABASE mydb;
-- 查看所有数据库
SHOW DATABASES;
-- 使用数据库
USE mydb;
-- 删除数据库
DROP DATABASE mydb;
2. 数据表操作
创建表:
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
常用数据类型:
-
INT:整型
-
VARCHAR(n):可变长度字符串
-
TEXT:长文本
-
DATE/DATETIME:日期时间
-
FLOAT/DOUBLE:浮点数
表维护:
-- 查看表结构
DESC users;
-- 删除表
DROP TABLE users;
-- 修改表
ALTER TABLE users ADD COLUMN age INT;
四、CRUD操作
1. 插入数据
INSERT INTO users (username, email)
VALUES ('john_doe', 'john@example.com');
2. 查询数据
基础查询:
SELECT * FROM users;
SELECT username, email FROM users WHERE id > 5;
高级查询:
-- 排序
SELECT * FROM users ORDER BY created_at DESC;
-- 限制结果
SELECT * FROM users LIMIT 10 OFFSET 5;
-- 模糊查询
SELECT * FROM users WHERE username LIKE 'j%';
3. 更新数据
UPDATE users
SET email = 'new@example.com'
WHERE id = 1;
4. 删除数据
DELETE FROM users WHERE id = 10;
五、实用功能
1. 聚合函数
SELECT
COUNT(*) AS total_users,
MAX(created_at) AS last_created,
AVG(age) AS average_age
FROM users;
2. 数据分组
SELECT
YEAR(created_at) AS year,
COUNT(*) AS user_count
FROM users
GROUP BY year;
3. 表连接
-- 创建订单表
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
amount DECIMAL(10,2),
FOREIGN KEY (user_id) REFERENCES users(id)
);
-- 联表查询
SELECT
users.username,
SUM(orders.amount) AS total_spent
FROM users
LEFT JOIN orders ON users.id = orders.user_id
GROUP BY users.id;
六、进阶内容(简要)
-
索引优化:
CREATE INDEX idx_email ON users(email);
-
事务处理:
START TRANSACTION; -- 执行操作... COMMIT; -- 或 ROLLBACK;
-
存储引擎:InnoDB vs MyISAM
七、注意事项
-
生产环境操作前务必备份数据
-
UPDATE/DELETE语句必须带WHERE条件
-
规范命名(小写+下划线)
-
合理设置字段长度和类型
八、学习资源
-
在线练习平台:SQLZoo、LeetCode