MySQL查看命令速查表

🎬 个人主页艾莉丝努力练剑
专栏传送门 :《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录
Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬 艾莉丝的简介:


文章目录

  • [1 ~> MySQL 查看类命令大全](#1 ~> MySQL 查看类命令大全)
    • [1.1 查看数据库](#1.1 查看数据库)
    • [1.2 查看表](#1.2 查看表)
    • [1.3 查看数](#1.3 查看数)
    • [1.4 查看用户 / 权限](#1.4 查看用户 / 权限)
    • [1.5 最常用组合(截图里就是这套)](#1.5 最常用组合(截图里就是这套))
  • [2 ~> MySQL常用核心命令速查表](#2 ~> MySQL常用核心命令速查表)
    • [2.1 MySQL 常用核心命令速查表](#2.1 MySQL 常用核心命令速查表)
    • [2.2 补充说明(高频实用命令)](#2.2 补充说明(高频实用命令))
    • [2.3 总结](#2.3 总结)
  • [3 ~> 其它MYSQL常见命令](#3 ~> 其它MYSQL常见命令)
    • [3.1 MySQL 补充常用命令速查表](#3.1 MySQL 补充常用命令速查表)
    • [3.2 补充实用运维命令(终端 / 客户端)](#3.2 补充实用运维命令(终端 / 客户端))
    • [3.3 总结](#3.3 总结)
  • [4 ~> MySQL 进阶高频命令速查表](#4 ~> MySQL 进阶高频命令速查表)
    • [4.1 MySQL 进阶高频命令速查表](#4.1 MySQL 进阶高频命令速查表)
    • [4.2 补充:MySQL 常用内置函数命令(高频)](#4.2 补充:MySQL 常用内置函数命令(高频))
    • [4.3 总结](#4.3 总结)
  • 结尾


1 ~> MySQL 查看类命令大全

下面艾莉丝整理了超好用、考试/刷题都能直接上手使用的 MySQL 查看命令速查表,记这些就够了。

1.1 查看数据库

  • 查看所有数据库
bash 复制代码
show databases; 
  • 进入某个数据库(必须先做这步)
bash 复制代码
use 数据库名; 
  • 查看当前正在用哪个库
bash 复制代码
select database(); 

1.2 查看表

  • 查看当前库有哪些表
bash 复制代码
show tables; 
  • 查看表的结构(字段、类型、键、是否为空)
bash 复制代码
desc 表名; 
  • 这两个其实一模一样,只是写法不同
bash 复制代码
describe 表名; 和  desc 
  • 查看建表语句(包含引擎、字符集)
bash 复制代码
show create table 表名; 
  • 竖着显示,更好看
bash 复制代码
show create table 表名\G

1.3 查看数

  • 查看表中所有数据
bash 复制代码
select * from 表名; 
  • 只看某一列
bash 复制代码
select 字段名 from 表名; 

1.4 查看用户 / 权限

  • 查看当前登录用户
bash 复制代码
select user(); 

1.5 最常用组合(截图里就是这套)

  • show databases;
  • use test_db;
  • show tables;
  • desc t1;
  • show create table t1;

2 ~> MySQL常用核心命令速查表

2.1 MySQL 常用核心命令速查表

下面艾莉丝整理了 MySQL 最常用的核心命令,按数据库操作、表操作、数据操作、查询操作、权限管理五大类划分。

命令分类 功能描述 具体命令示例 关键说明
数据库操作 创建数据库 CREATE DATABASE <font color="red">IF NOT EXISTS</font> db_name; IF NOT EXISTS 避免重复创建报错
数据库操作 删除数据库 DROP DATABASE <font color="red">IF EXISTS</font> db_name; IF EXISTS 避免删除不存在的数据库报错
数据库操作 切换数据库 USE db_name; 操作表前必须先切换到目标数据库
数据库操作 查看所有数据库 SHOW DATABASES; 列出当前MySQL实例中所有数据库
表操作 创建表 CREATE TABLE tb_name ( id INT <font color="red">PRIMARY KEY</font> AUTO_INCREMENT, name VARCHAR(50) <font color="red">NOT NULL</font>, age INT <font color="red">DEFAULT 0</font> ); PRIMARY KEY主键、AUTO_INCREMENT自增、NOT NULL非空、DEFAULT默认值
表操作 删除表 DROP TABLE <font color="red">IF EXISTS</font> tb_name; 同上,避免删除不存在的表报错
表操作 查看表结构 DESC tb_name;DESCRIBE tb_name; 展示表的字段、类型、约束等信息
表操作 修改表名 ALTER TABLE old_tb_name <font color="red">RENAME TO</font> new_tb_name; RENAME TO 是修改表名的核心关键字
表操作 添加字段 ALTER TABLE tb_name <font color="red">ADD COLUMN</font> email VARCHAR(100); ADD COLUMN 新增字段,可加约束(如NOT NULL)
数据操作 插入数据 INSERT INTO tb_name (name, age) <font color="red">VALUES</font> ('张三', 20); VALUES 后接插入的具体值,字段和值需一一对应
数据操作 批量插入数据 INSERT INTO tb_name (name, age) VALUES ('李四', 22), ('王五', 25); 批量插入比单条插入效率更高
数据操作 更新数据 UPDATE tb_name <font color="red">SET</font> age=21 <font color="red">WHERE</font> name='张三'; WHERE 必须加,否则更新全表数据
数据操作 删除数据 DELETE FROM tb_name <font color="red">WHERE</font> id=1; WHERE 必须加,否则删除全表数据
查询操作 基础查询 SELECT <font color="red">name, age</font> FROM tb_name; name, age 可替换为 * 查询所有字段(不推荐)
查询操作 条件查询 SELECT * FROM tb_name WHERE age <font color="red">BETWEEN</font> 20 AND 30; BETWEEN...AND 范围查询,也可用 > < = !=
查询操作 排序查询 SELECT * FROM tb_name <font color="red">ORDER BY</font> age <font color="red">DESC</font>; ORDER BY 排序,DESC降序(默认ASC升序)
查询操作 分页查询 SELECT * FROM tb_name <font color="red">LIMIT</font> 0, 10; LIMIT 起始行, 行数,起始行从0开始
权限管理 创建用户 CREATE USER 'user1'@'<font color="red">localhost</font>' IDENTIFIED BY '123456'; localhost 限制仅本地访问,% 表示任意主机
权限管理 授权用户 GRANT <font color="red">ALL</font> ON db_name.* TO 'user1'@'localhost'; ALL 可替换为 SELECT/INSERT 等具体权限
权限管理 刷新权限 FLUSH <font color="red">PRIVILEGES</font>; 授权/改权限后必须执行,使权限生效

2.2 补充说明(高频实用命令)

1、查看当前数据库

bash 复制代码
SELECT DATABASE();

2、查看表的创建语句

bash 复制代码
SHOW CREATE TABLE tb_name; ---- 可查看表的完整创建逻辑(含索引、字符集等)

3、清空表数据(保留表结构)

bash 复制代码
TRUNCATE TABLE tb_name; -- 比DELETE快,且重置自增主键

4、简单备份数据库(终端命令)

bash 复制代码
mysqldump -u root -p db_name > db_backup.sql ---- 备份整个数据库

2.3 总结

1、核心约束 / 关键字 :WHERE、IF NOT EXISTS、PRIMARY KEY、LIMIT 是避免误操作、保证数据安全的关键,必须重点掌握;

2、数据修改类命令 :UPDATE/DELETE 必须加 WHERE 条件,否则会修改 / 删除全表数据,操作前建议先用 SELECT 验证条件;

3、查询优化 :尽量避免用 SELECT *,只查询需要的字段;分页用 LIMIT,排序用 ORDER BY,能大幅提升查询效率。


3 ~> 其它MYSQL常见命令

艾莉丝同样补充MySQL日常开发 / 运维中高频且实用的其他核心命令,重点内容会标红,涵盖索引操作、数据校验、事务控制、性能优化、系统信息等场景,都是实际学习、工作中经常用到的:

3.1 MySQL 补充常用命令速查表

命令分类 功能描述 具体命令示例 关键说明
索引操作 创建普通索引 CREATE <font color="red">INDEX</font> idx_name ON tb_name(name); INDEX 普通索引,提升查询速度(不唯一、非空)
索引操作 创建唯一索引 CREATE <font color="red">UNIQUE INDEX</font> idx_age ON tb_name(age); UNIQUE INDEX 索引值唯一,可避免重复数据
索引操作 删除索引 DROP <font color="red">INDEX</font> idx_name ON tb_name; 删除无用索引,减少写入性能损耗
索引操作 查看表索引 SHOW <font color="red">INDEX</font> FROM tb_name; 列出表中所有索引的名称、类型、关联字段等
事务控制 开启事务 START <font color="red">TRANSACTION</font>;BEGIN; 手动开启事务,用于保证多操作原子性
事务控制 提交事务 <font color="red">COMMIT</font>; 确认事务内所有操作,永久生效
事务控制 回滚事务 <font color="red">ROLLBACK</font>; 撤销事务内未提交的所有操作,恢复到事务开始前状态
事务控制 设置保存点 SAVEPOINT sp1; + ROLLBACK <font color="red">TO</font> sp1; 回滚到事务内指定保存点,而非整个事务
数据校验/修改 去重查询 SELECT <font color="red">DISTINCT</font> name FROM tb_name; DISTINCT 过滤重复行,仅返回唯一值
数据校验/修改 批量替换字段值 UPDATE tb_name SET name = <font color="red">REPLACE</font>(name, '张三', 'ZhangSan'); REPLACE 替换字段中指定字符串
数据校验/修改 空值处理 SELECT * FROM tb_name WHERE age <font color="red">IS NULL</font>; IS NULL 判断空值(不能用 = NULL)
聚合查询 统计计数 SELECT <font color="red">COUNT(*)</font> FROM tb_name WHERE age>20; COUNT(*) 统计行数,也可用 COUNT(字段) 排除NULL
聚合查询 求和/平均值 SELECT <font color="red">SUM(age)</font>, <font color="red">AVG(age)</font> FROM tb_name; SUM 求和、AVG 求平均
聚合查询 分组查询 SELECT age, <font color="red">COUNT(*)</font> FROM tb_name <font color="red">GROUP BY</font> age; GROUP BY 按字段分组,常配合聚合函数
性能优化 查看SQL执行计划 EXPLAIN <font color="red">SELECT * FROM tb_name WHERE name='张三';</font> EXPLAIN 分析SQL是否走索引、扫描行数等
性能优化 查看慢查询日志状态 SHOW VARIABLES LIKE '<font color="red">slow_query_log</font>'; 检查慢查询日志是否开启,定位低效SQL
性能优化 查看当前连接数 SHOW <font color="red">PROCESSLIST</font>; 查看所有数据库连接,排查慢连接、锁等待问题
系统信息 查看MySQL版本 SELECT <font color="red">VERSION()</font>; 确认MySQL版本,适配不同版本的语法差异
系统信息 查看当前用户 SELECT <font color="red">USER()</font>; 查看当前登录的MySQL用户及主机
系统信息 查看字符集配置 SHOW VARIABLES LIKE '<font color="red">character_set%</font>'; 检查数据库/表/连接的字符集,避免乱码问题
表结构修改 修改字段类型 ALTER TABLE tb_name <font color="red">MODIFY COLUMN</font> name VARCHAR(100); MODIFY COLUMN 修改字段类型/长度
表结构修改 删除字段 ALTER TABLE tb_name <font color="red">DROP COLUMN</font> email; DROP COLUMN 删除表中无用字段
锁操作 查看表锁状态 SHOW <font color="red">OPEN TABLES</font> WHERE In_use>0; 查看被锁定的表,排查锁阻塞问题
锁操作 手动锁表/解锁 LOCK TABLES tb_name <font color="red">READ</font>; + UNLOCK TABLES; READ 读锁(仅读),也可用 WRITE 写锁(独占)

3.2 补充实用运维命令(终端 / 客户端)

场景 命令示例 说明
导入SQL文件 mysql -u root -p db_name < <font color="red">backup.sql</font> 将备份的SQL文件导入指定数据库(终端执行)
修复损坏的表 REPAIR TABLE tb_name; MyISAM表损坏时修复(InnoDB表优先用事务回滚)
设置自动提交事务 SET <font color="red">autocommit</font> = 0; 关闭自动提交,需手动COMMIT/ROLLBACK(默认1=开启)
查看表占用空间 SELECT table_name, data_length/1024/1024 AS size_mb FROM information_schema.tables WHERE table_schema='db_name'; 统计数据库中各表的大小(单位MB)

3.3 总结

  • 1、高频补充命令 :索引操作(CREATE INDEX / DROP INDEX)、事务控制(COMMIT / ROLLBACK)、执行计划(EXPLAIN)是优化查询的核心,必须掌握;

  • 2、运维必备SHOW PROCESSLIST(查连接)、EXPLAIN(分析SQL)、字符集检查(character_set%)能快速定位性能 / 乱码问题;

  • 3。数据安全 :事务控制可避免多操作出错,DISTINCT去重、IS NULL判空能保证数据校验的准确性。


4 ~> MySQL 进阶高频命令速查表

4.1 MySQL 进阶高频命令速查表

命令分类 功能描述 具体命令示例 关键说明
高级查询 多表关联查询(内连接) SELECT a.name, b.order_no FROM user a <font color="red">INNER JOIN</font> order b ON a.id = b.user_id; INNER JOIN 只返回两表匹配的数据,也可用 JOIN 简写
高级查询 多表关联查询(左连接) SELECT a.name, b.order_no FROM user a <font color="red">LEFT JOIN</font> order b ON a.id = b.user_id; LEFT JOIN 保留左表所有数据,右表无匹配则为NULL
高级查询 子查询(IN) SELECT * FROM user WHERE id <font color="red">IN</font> (SELECT user_id FROM order WHERE amount>100); IN 子查询,适合小数据集;大数据集用JOIN更高效
高级查询 条件过滤(HAVING) SELECT age, COUNT(*) FROM user GROUP BY age <font color="red">HAVING</font> COUNT(*)>5; HAVING 过滤分组后的数据(WHERE过滤分组前)
用户权限细化 回收用户权限 REVOKE <font color="red">DELETE</font> ON db_name.* FROM 'user1'@'localhost'; REVOKE 撤销指定权限,需FLUSH PRIVILEGES生效
用户权限细化 修改用户密码 ALTER USER 'user1'@'localhost' <font color="red">IDENTIFIED BY</font> 'new_password'; MySQL8.0+推荐用ALTER USER,5.7可用SET PASSWORD
用户权限细化 删除用户 DROP USER <font color="red">IF EXISTS</font> 'user1'@'localhost'; IF EXISTS 避免删除不存在的用户报错
表维护 优化表(整理碎片) OPTIMIZE <font color="red">TABLE</font> tb_name; 针对InnoDB/MyISAM表整理碎片,释放磁盘空间(需锁表,低峰执行)
表维护 重命名字段 ALTER TABLE tb_name <font color="red">RENAME COLUMN</font> old_col TO new_col; MySQL8.0+支持,低版本需先MODIFY再DROP旧字段
表维护 复制表结构(不含数据) CREATE TABLE new_tb <font color="red">LIKE</font> old_tb; LIKE 复制原表所有结构(索引、约束等)
表维护 复制表结构+数据 CREATE TABLE new_tb SELECT * FROM old_tb <font color="red">WHERE 1=2</font>; WHERE 1=2 只复制结构;去掉则复制结构+数据
日志管理 开启慢查询日志 SET GLOBAL <font color="red">slow_query_log</font> = 1; 临时开启(重启失效),永久生效需改my.cnf配置
日志管理 设置慢查询阈值 SET GLOBAL <font color="red">long_query_time</font> = 1; 执行时间超过1秒的SQL会被记录到慢查询日志(默认10秒)
日志管理 查看二进制日志(binlog) SHOW <font color="red">BINARY LOGS</font>; 查看binlog文件列表,用于数据恢复/主从同步
变量配置 查看全局变量 SHOW <font color="red">GLOBAL VARIABLES</font> LIKE 'max_connections'; 查看MySQL全局配置(如最大连接数)
变量配置 修改会话变量 SET <font color="red">SESSION</font> sort_buffer_size = 1024*1024; 仅对当前连接生效,不影响其他会话
变量配置 查看当前会话状态 SHOW <font color="red">SESSION STATUS</font> LIKE 'Threads%'; 查看当前会话的资源使用、连接数等状态
数据导入导出 导出指定表数据(CSV) SELECT * FROM tb_name INTO <font color="red">OUTFILE</font> '/tmp/tb_data.csv' FIELDS TERMINATED BY ','; 导出为CSV文件,需确保MySQL有文件写入权限
数据导入导出 导入CSV数据到表 LOAD <font color="red">DATA INFILE</font> '/tmp/tb_data.csv' INTO TABLE tb_name FIELDS TERMINATED BY ','; 批量导入CSV数据,比INSERT高效
锁与事务 设置事务隔离级别 SET <font color="red">TRANSACTION ISOLATION LEVEL</font> READ COMMITTED; 常用级别:READ COMMITTED(默认)、REPEATABLE READ、SERIALIZABLE
锁与事务 查看事务等待锁 SELECT * FROM <font color="red">INFORMATION_SCHEMA.INNODB_LOCK_WAITS</font>; 定位事务锁等待问题,排查死锁

4.2 补充:MySQL 常用内置函数命令(高频)

函数类型 功能描述 命令示例 说明
日期函数 格式化日期 SELECT <font color="red">DATE_FORMAT</font>(create_time, '%Y-%m-%d') FROM tb_name; 按指定格式输出日期(%Y年、%m月、%d日)
日期函数 计算日期差 SELECT <font color="red">DATEDIFF</font>(NOW(), create_time) FROM tb_name; 计算当前时间与create_time的天数差
字符串函数 截取字符串 SELECT <font color="red">SUBSTRING</font>(name, 1, 2) FROM tb_name; 截取name字段前2个字符(起始位置从1开始)
字符串函数 拼接字符串 SELECT <font color="red">CONCAT</font>(name, '-', age) FROM tb_name; 拼接多个字段/字符串(NULL参与则结果为NULL)
数值函数 四舍五入 SELECT <font color="red">ROUND</font>(price, 2) FROM tb_name; 将price保留2位小数
数值函数 取绝对值 SELECT <font color="red">ABS</font>(amount) FROM tb_name; 计算数值的绝对值

4.3 总结

  • 1、高级查询核心INNER JOIN / LEFT JOIN是多表关联的基础,HAVING补充分组后过滤,子查询适合简单场景、JOIN适合大数据集;

  • 2、运维关键OPTIMIZE TABLE优化表碎片、慢查询日志(slow_query_log)定位低效 SQL、INNODB_LOCK_WAITS排查死锁,是日常维护必备;

  • 3、效率提升LOAD DATA INFILE / INTO OUTFILE批量导入导出数据,比单条INSERT / SELECT高效数倍;内置函数(DATE_FORMAT / CONCAT)能减少应用层数据处理工作量。

这些命令覆盖了从开发写复杂查询到运维排查问题的全链路,根据自己的使用场景(比如写报表 SQL、排查锁问题、批量导入数据)重点记忆对应的命令。


结尾

uu们,本文的内容到这里就全部结束了,艾莉丝在这里再次感谢您的阅读!

结语:希望对学习MYSQL相关内容的uu有所帮助,不要忘记给博主"一键四连"哦!

往期回顾

【MYSQL】MYSQL学习的一大重点:MYSQL表的操作

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡 ૮₍ ˶ ˊ ᴥ ˋ˶₎ა

相关推荐
哈__1 小时前
Index-TTS 声音克隆搭载cpolar内网穿透,随时随地生成专属语音!
网络
Coovally AI模型快速验证1 小时前
CVPR 2026 | GS-CLIP:3D几何先验+双流视觉融合,零样本工业缺陷检测新SOTA,四大3D工业数据集全面领先!
人工智能·目标检测·机器学习·3d·数据挖掘·回归
皮皮哎哟1 小时前
Linux网络最终篇:TCP并发服务器
linux·服务器·select·epoll·poll·tcp并发
70asunflower1 小时前
CUDA基础知识巩固检验练习题【附有参考答案】(5)
人工智能·cuda·cpp
70asunflower1 小时前
CUDA基础知识巩固检验练习题【附有参考答案】(6)
c++·人工智能·cuda
无心水1 小时前
【OpenClaw:进阶开发】11、OpenClaw插件开发入门——从零编写“文件统计与报表生成”Skill
linux·运维·ubuntu
sbjdhjd1 小时前
RHCE | Linux 例行性工作(定时任务)从入门到精通
linux·运维·服务器·华为·云计算
波动几何1 小时前
人工智能编程之复杂功能描述样本(待办任务)
人工智能
Flying pigs~~1 小时前
机器学习之数据挖掘时间序列预测
人工智能·算法·机器学习·数据挖掘·线性回归