Cheat Sheet速查表
跳转到主要内容

MySQL 常用命令速查表

MySQL 是全球最主流的开源关系型数据库管理系统。本速查表汇总日常开发与运维中最常用的 SQL 语句、表维护、性能调优及权限管理命令。

连接与服务状态

命令说明示例
mysql -u root -p登录 MySQL 命令行客户端mysql -h localhost -u root -p
exit / quit退出客户端exit
SHOW DATABASES;列出所有数据库SHOW DATABASES;
USE <database>;切换到指定数据库USE my_app;
STATUS;查看当前连接状态与服务器版本信息STATUS;

数据库与数据表维护 (DDL)

命令说明示例
CREATE DATABASE创建新数据库CREATE DATABASE test_db;
DROP DATABASE删除数据库及所有表DROP DATABASE test_db;
SHOW TABLES;查看当前库下的所有表SHOW TABLES;
DESCRIBE <table>;查看指定表的结构定义DESCRIBE users;
CREATE TABLE创建新表CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50));
DROP TABLE永久删除数据表DROP TABLE old_logs;
TRUNCATE TABLE清空表中全部记录并重置自增主键TRUNCATE TABLE temp_sessions;

数据操作 (CRUD / DML)

插入数据

INSERT INTO users (name, age, email) VALUES 
  ('Alice', 25, 'alice@example.com'),
  ('Bob', 30, 'bob@example.com');

查询数据

-- 条件筛选、排序与分页查询
SELECT id, name, age FROM users 
WHERE age >= 21 AND status = 'active'
ORDER BY age DESC 
LIMIT 10 OFFSET 0;

-- 聚合函数统计
SELECT COUNT(*), AVG(age) FROM users;

更新数据

UPDATE users 
SET age = 26, updated_at = NOW() 
WHERE name = 'Alice';

删除数据

DELETE FROM users WHERE id = 10;

多表连接查询 (JOIN)

连接类型说明
INNER JOIN内连接,仅返回两张表中完全匹配关联条件的记录
LEFT JOIN左外连接,返回左表全部记录及右表中匹配的记录
RIGHT JOIN右外连接,返回右表全部记录及左表中匹配的记录
CROSS JOIN笛卡尔积,返回两表的组合乘积结果
SELECT u.name, o.order_number, o.total_amount
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE o.status = 'completed';

索引管理

命令说明
CREATE INDEX idx_name ON table(col);创建普通 B-Tree 索引
CREATE UNIQUE INDEX idx_email ON table(col);创建唯一约束索引
SHOW INDEX FROM table;查看指定表上的全部索引
DROP INDEX idx_name ON table;删除指定名称的索引

查询优化与性能分析

命令说明
EXPLAIN SELECT ...分析并输出 SQL 查询的执行计划(索引使用情况)
ANALYZE TABLE <table>;重新分析并更新优化器表统计信息
OPTIMIZE TABLE <table>;整理表碎片并回收未使用的物理存储空间

用户与权限管理 (DCL)

命令说明
CREATE USER 'app'@'%' IDENTIFIED BY 'secret';创建新用户账号
GRANT SELECT, INSERT ON db.* TO 'app'@'%';为用户授予指定库表的特定权限
GRANT ALL PRIVILEGES ON db.* TO 'admin'@'%';授予所有权限
REVOKE INSERT ON db.* FROM 'app'@'%';撤销指定权限
FLUSH PRIVILEGES;刷新权限配置使修改立即生效
DROP USER 'app'@'%';删除指定用户账号

备份与恢复

命令说明
mysqldump -u root -p db_name > backup.sql导出数据库备份文件(在终端中运行)
mysql -u root -p db_name < backup.sql从 SQL 备份文件恢复导入数据

官方参考