MySQL常用的查看命令速查表(附详细代码)

 更新时间:2026年03月10日 11:04:37   作者:艾莉丝努力练剑  
在MySQL数据库中,查询数据是数据库操作中最为基础和频繁的任务之一,这篇文章主要介绍了MySQL常用的查看命令速查表,文中通过代码以及表格介绍的非常详细,需要的朋友可以参考下

1 ~> MySQL 查看类命令大全

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

1.1 查看数据库

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

1.2 查看表

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

1.3 查看数

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

1.4 查看用户 / 权限

  • 查看当前登录用户
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、查看当前数据库

SELECT DATABASE();

2、查看表的创建语句

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

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

TRUNCATE TABLE tb_name; -- 比DELETE快,且重置自增主键

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

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、排查锁问题、批量导入数据)重点记忆对应的命令。

结尾

到此这篇关于MySQL查看命令速查表的文章就介绍到这了,更多相关MySQL查看命令速查表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql分区表的管理与维护

    Mysql分区表的管理与维护

    改变一个表的分区方案只需使用alter table 加 partition_options 子句就可以了。这篇文章主要介绍了Mysql分区表的管理与维护,非常不错,感兴趣的朋友一起学习吧,需要的朋友可以参考下
    2016-08-08
  • 一文介绍mysql中TINYINT取值范围

    一文介绍mysql中TINYINT取值范围

    本文主要介绍了mysql中TINYINT取值范围,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • MySQL数字类型自增的坑

    MySQL数字类型自增的坑

    这篇文章主要介绍了MySQL数字类型自增的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • MySQL 内存表和临时表的用法详解

    MySQL 内存表和临时表的用法详解

    这篇文章主要介绍了MySQL 内存表和临时表的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • MySQL半同步复制原理配置与介绍详解

    MySQL半同步复制原理配置与介绍详解

    这篇文章主要介绍了MySQL半同步复制原理配置与介绍详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • MySQL存储过程概念、原理与常见用法详解

    MySQL存储过程概念、原理与常见用法详解

    这篇文章主要介绍了MySQL存储过程概念、原理与常见用法,结合实例形式详细分析了mysql存储过程的概念、原理、创建、删除、调用等各种常用技巧与相关注意事项,需要的朋友可以参考下
    2019-07-07
  • MySQL使用binlog日志恢复数据的方法步骤

    MySQL使用binlog日志恢复数据的方法步骤

    binlog日志是用于记录所有修改数据库内容的操作,本文主要介绍了MySQL使用binlog日志恢复数据的方法步骤,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • 数据库索引知识点整理

    数据库索引知识点整理

    这篇文章主要介绍了数据库索引知识点整理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考
    2021-01-01
  • MySQL启动报错:Can not connect to MySQL server的解决方法

    MySQL启动报错:Can not connect to MySQL 

    今天打开数据库出现一个错误,ERROR 2003: Can't connect to MySQL server on 'localhost' 的错误,网上查找原因说是我的mysql服务没有打开,所以本文给大家介绍了MySQL启动报错:Can not connect to MySQL server的解决方法,需要的朋友可以参考下
    2024-03-03
  • MySQL to_date()日期转换的用法及注意事项

    MySQL to_date()日期转换的用法及注意事项

    这篇文章主要介绍了MySQL to_date()日期转换的用法及注意事项,TO_DATE()函数在不同数据库系统中用于将字符串转换为日期格式,其语法和参数可能有所不同,需要的朋友可以参考下
    2025-01-01

最新评论