# MySQL 快速开始

# 安装配置

# 下载安装

  1. 访问 MySQL官网 (opens new window) 下载适合的版本
  2. 按照向导完成安装
  3. 记住root用户的初始密码

# 启动服务

# macOS
brew services start mysql

# Windows
net start mysql

# Linux
sudo service mysql start

# 连接MySQL

mysql -u root -p

# 基本操作

# 数据库操作

-- 查看所有数据库
SHOW DATABASES;

-- 创建数据库
CREATE DATABASE mydb;

-- 使用数据库
USE mydb;

-- 删除数据库
DROP DATABASE mydb;

# 表操作

-- 创建表
CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- 查看表结构
DESC users;

-- 修改表
ALTER TABLE users ADD COLUMN age INT;

-- 删除表
DROP TABLE users;

# 数据操作

# 插入数据

-- 单行插入
INSERT INTO users (username, email) 
VALUES ('alice', 'alice@example.com');

-- 多行插入
INSERT INTO users (username, email) VALUES
('bob', 'bob@example.com'),
('charlie', 'charlie@example.com');

# 查询数据

-- 基本查询
SELECT * FROM users;

-- 条件查询
SELECT username, email 
FROM users 
WHERE age >= 18;

-- 排序
SELECT * FROM users 
ORDER BY created_at DESC;

-- 分页
SELECT * FROM users 
LIMIT 10 OFFSET 0;

# 更新数据

-- 更新单个字段
UPDATE users 
SET age = 25 
WHERE username = 'alice';

-- 更新多个字段
UPDATE users 
SET age = 30, email = 'new@example.com' 
WHERE id = 1;

# 删除数据

-- 删除指定记录
DELETE FROM users 
WHERE username = 'bob';

-- 清空表
TRUNCATE TABLE users;

# 高级查询

# 连接查询

-- 内连接
SELECT orders.id, users.username 
FROM orders 
INNER JOIN users ON orders.user_id = users.id;

-- 左连接
SELECT users.username, orders.id 
FROM users 
LEFT JOIN orders ON users.id = orders.user_id;

# 聚合函数

-- 计数
SELECT COUNT(*) FROM users;

-- 求和
SELECT SUM(amount) FROM orders;

-- 分组统计
SELECT user_id, COUNT(*) as order_count 
FROM orders 
GROUP BY user_id;

# 用户管理

# 创建用户

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

# 授权

-- 授予所有权限
GRANT ALL PRIVILEGES ON mydb.* TO 'newuser'@'localhost';

-- 刷新权限
FLUSH PRIVILEGES;

# 备份和恢复

# 备份数据库

mysqldump -u root -p mydb > backup.sql

# 恢复数据库

mysql -u root -p mydb < backup.sql

# 性能优化

# 索引

-- 创建索引
CREATE INDEX idx_username ON users(username);

-- 查看索引
SHOW INDEX FROM users;

# 查看执行计划

EXPLAIN SELECT * FROM users WHERE username = 'alice';

# 下一步

  • 学习高级SQL语法
  • 了解数据库设计原则
  • 掌握性能优化技巧
  • 学习数据库管理