MySQL 常用命令的分类总结,涵盖数据库操作、表管理、数据查询、用户权限等核心场景:
一、数据库操作
-
查看所有数据库
SHOW DATABASES;
-
创建数据库
CREATE DATABASE [数据库名] [CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci]; -- 指定字符集(推荐utf8mb4)
-
删除数据库
DROP DATABASE [数据库名];
-
使用数据库
USE [数据库名]; -- 切换到目标数据库
-
查看当前使用的数据库
SELECT DATABASE();
二、数据表操作
-
查看当前数据库所有表
SHOW TABLES;
-
创建表
CREATE TABLE [表名] ( 字段1 类型 [约束], 字段2 类型 [约束], ... PRIMARY KEY (主键字段) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 引擎推荐InnoDB
约束示例 :
NOT NULL
(非空)、UNIQUE
(唯一)、AUTO_INCREMENT
(自增)、DEFAULT
(默认值)。 -
查看表结构
DESC [表名]; -- 或 DESCRIBE [表名];
-
修改表名
ALTER TABLE [旧表名] RENAME TO [新表名];
-
添加字段
ALTER TABLE [表名] ADD [字段名] [类型] [约束];
-
修改字段
ALTER TABLE [表名] MODIFY [字段名] [新类型] [新约束]; -- 修改类型/约束 ALTER TABLE [表名] CHANGE [旧字段名] [新字段名] [类型] [约束]; -- 重命名并修改
-
删除字段
ALTER TABLE [表名] DROP [字段名];
-
删除表
DROP TABLE [表名];
三、数据查询(SELECT)
-
基础查询
SELECT [字段1, 字段2, ... | *] FROM [表名]; -- *表示所有字段
-
条件查询
SELECT * FROM [表名] WHERE [条件]; -- 条件用=、>、<、AND、OR、NOT等连接
-
排序
SELECT * FROM [表名] ORDER BY [字段] [ASC|DESC]; -- ASC升序(默认),DESC降序
-
限制结果行数
SELECT * FROM [表名] LIMIT [起始行, 行数]; -- 起始行从0开始,常用于分页
-
去重
SELECT DISTINCT [字段] FROM [表名]; -- 去除重复值
-
聚合查询
SELECT COUNT(*), AVG(字段), SUM(字段), MAX(字段), MIN(字段) FROM [表名] [WHERE 条件];
-
分组查询
SELECT [分组字段], COUNT(*) FROM [表名] GROUP BY [分组字段] [HAVING 分组条件]; -- HAVING过滤分组结果
-
多表连接查询
-- 内连接(仅匹配关联数据) SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段 = 表2.字段; -- 左连接(保留表1所有数据,表2无匹配则为NULL) SELECT * FROM 表1 LEFT JOIN 表2 ON 表1.字段 = 表2.字段;
四、数据增删改(CRUD)
-
插入数据(Create)
INSERT INTO [表名] (字段1, 字段2, ...) VALUES (值1, 值2, ...); -- 指定字段 INSERT INTO [表名] VALUES (值1, 值2, ...); -- 按表所有字段顺序插入
-
更新数据(Update)
UPDATE [表名] SET 字段1=值1, 字段2=值2 WHERE [条件]; -- 务必加WHERE,否则全表更新
-
删除数据(Delete)
DELETE FROM [表名] WHERE [条件]; -- 务必加WHERE,否则全表数据删除
五、用户与权限管理
-
创建用户
CREATE USER '[用户名]'@'[主机]' IDENTIFIED BY '[密码]'; -- 主机为%表示允许所有IP登录
-
授权用户
GRANT [权限] ON [数据库.表] TO '[用户名]'@'[主机]'; -- 权限如ALL、SELECT、INSERT等 -- 示例:授予用户所有数据库权限 GRANT ALL PRIVILEGES ON *.* TO 'user'@'%';
-
刷新权限
FLUSH PRIVILEGES; -- 权限修改后生效
-
查看用户权限
SHOW GRANTS FOR '[用户名]'@'[主机]';
-
撤销权限
REVOKE [权限] ON [数据库.表] FROM '[用户名]'@'[主机]';
-
删除用户
DROP USER '[用户名]'@'[主机]';
六、其他常用命令
-
查看 MySQL 版本
SELECT VERSION();
-
查看当前用户
SELECT USER();
-
执行 SQL 文件
SOURCE /路径/文件名.sql; -- 导入外部SQL脚本
-
退出 MySQL 客户端
EXIT; -- 或 QUIT;