MySQL常用命令全攻略
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;