MySQL 常用操作速查手册

适用于初学者和日常开发参考
最后更新:2025年12月30日

目录

一、数据库操作

1. 创建数据库

CREATE DATABASE database_name;

2. 使用数据库

USE database_name;

3. 查看所有数据库

SHOW DATABASES;

4. 删除数据库

DROP DATABASE database_name;

二、数据表操作

1. 创建表

CREATE TABLE table_name (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    age INT,
    email VARCHAR(100) UNIQUE
);

2. 查看表结构

DESCRIBE table_name;
-- 或
DESC table_name;

3. 查看所有表

SHOW TABLES;

4. 修改表结构(添加列)

ALTER TABLE table_name ADD COLUMN column_name datatype;

5. 修改列定义

ALTER TABLE table_name MODIFY COLUMN column_name new_datatype;

6. 重命名列

ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;

7. 删除列

ALTER TABLE table_name DROP COLUMN column_name;

8. 删除表

DROP TABLE table_name;

三、增删改查(CRUD)

1. 插入数据(Create)

INSERT INTO table_name (name, age, email) VALUES ('张三', 25, 'zhangsan@example.com');
-- 批量插入
INSERT INTO table_name (name, age, email) VALUES 
('李四', 30, 'lisi@example.com'),
('王五', 28, 'wangwu@example.com');

2. 查询数据(Read)

-- 查询全部
SELECT * FROM table_name;

-- 条件查询
SELECT * FROM table_name WHERE age > 25;

-- 指定字段
SELECT name, email FROM table_name;

-- 排序
SELECT * FROM table_name ORDER BY age DESC;

-- 分页(跳过前5条,取10条)
SELECT * FROM table_name LIMIT 5, 10;

-- 去重
SELECT DISTINCT email FROM table_name;

3. 更新数据(Update)

UPDATE table_name SET age = 26 WHERE name = '张三';
注意:若不加 WHERE 条件,会更新整张表!

4. 删除数据(Delete)

DELETE FROM table_name WHERE name = '张三';
注意:若不加 WHERE 条件,会清空整张表!

四、其他常用操作

1. 清空表(保留结构)

TRUNCATE TABLE table_name;
比 DELETE 更快,但不可回滚,且重置自增 ID。

2. 导入 SQL 文件

mysql -u username -p database_name < file.sql

3. 导出数据库

mysqldump -u username -p database_name > backup.sql

4. 用户管理

创建用户

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

授权

GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

查看用户权限

SHOW GRANTS FOR 'newuser'@'localhost';

删除用户

DROP USER 'newuser'@'localhost';

5. 索引操作

创建索引

CREATE INDEX idx_email ON table_name(email);

查看索引

SHOW INDEX FROM table_name;

删除索引

DROP INDEX idx_email ON table_name;

五、常用函数

函数 说明
NOW()当前日期时间
CURDATE()当前日期
CURTIME()当前时间
COUNT(*)统计行数
SUM(column)求和
AVG(column)平均值
MAX(column) / MIN(column)最大/最小值
CONCAT(str1, str2)字符串拼接
IFNULL(column, '默认值')处理 NULL

六、注意事项

提示:本手册基于 MySQL 5.7+ / 8.0 编写,部分语法可能因版本略有差异。