SHOW命令介绍
MySQL SHOW命令主要用于显示数据库、表、列、用户、权限等的信息。这些信息被MySQL存储在数据库的表中,MySQL从内部表中提取这些信息。
- SHOW命令用法
- SHOW命令结合LIKE关键字对结果进行过滤:表示对第一个字段进行过滤
- SHOW命令结合WHERE关键字对结果进行过滤:用法和正常的SELETE语句等相同
常用SHOW命令汇总
常用命令汇总表
命令 |
描述 |
show status |
显示服务器运行状态信息(如正在运行的线程数量) |
show character set |
显示服务器支持的所有字符集 |
show collation |
显示服务器支持的所有校对规则 |
show warnings |
显示最后一个执行的语句的告警信息(包括:错误、警告和注意信息) |
show errors |
显示最后一个执行的语句的错误信息 |
show processlist |
显示系统正在运行的所有线程信息 |
show grants [for user_name] |
显示用户权限 |
show privileges |
显示服务器支持的权限列表 |
show binary logs |
显示二进制列表信息 |
show master logs |
显示主库的二进制列表信息(单体数据库中与show binary logs相同) |
show [global | session] variables |
显示全局(会话)系统变量信息,默认会话 |
show master status |
显示主服务器的状态信息 |
show slave status |
显示从服务器的状态信息 |
show slave hosts |
显示从服务器列表信息 |
show profiles |
显示最近15条SQL性能分析信息 |
show profile [参数1,参数2] for query [Query_ID] |
显示指定Query_ID的SQL性能分析详情 |
show engines |
显示服务器支持的存储引擎列表 |
show engine engine_name status |
显示存储引擎状态 |
show engine engine_name mutex |
显示存储引擎互斥参数 |
show databases |
显示所有数据库名称 |
show create database db_name
|
显示数据库的构建语句 |
show tables [from db_name] |
显示数据库中所有表名称 |
show create table table_name
|
显示表的构建语句 |
show table status [form db_name] |
显示数据库所有表的状态信息 |
show columns from table_name
|
显示当前数据库的指定表的所有列信息 |
show columns from db_name.table_name show columns from table_name from db_name
|
显示指定数据库的指定表的所有列信息 |
show fields from table_name
|
显示当前数据库的指定表的所有列信息 |
show fields from db_name.table_name show fields from table_name from db_name
|
显示指定数据库的指定表的所有列信息 |
show index from table_name
|
显示当前数据库的指定表的所有索引信息 |
show index from db_name.table_name show index from table_name from db_name
|
显示指定数据库的指定表的所有索引信息 |
show keys from table_name
|
显示当前数据库的指定表的所有索引信息 |
show keys from db_name.table_name show keys from table_name from db_name
|
显示指定数据库的指定表的所有索引信息 |
show open tables [from db_name] |
显示已经在表缓存中打开的非临时表信息 |
show triggers [from db_name] |
显示指定数据库中的所有触发器信息 |
show events [from db_name] |
显示指定数据库中的所有事件信息 |
show create trigger trig_name
|
显示创建触发器语句 |
show create event event_name
|
显示创建事件语句 |
show create function func_name
|
显示创建函数语句 |
show create procedure proc_name
|
显示创建存储函数语句 |
show create user user_name
|
显示创建用户语句 |
show create view view_name
|
显示创建视图语句 |
- 服务器运行状态信息
show status
![在这里插入图片描述](https://img-blog.csdnimg.cn/03a6a7dd6a12465f98b5e4e8f8dccf5d.png)
- 支持的字符集信息
show character set
![在这里插入图片描述](https://img-blog.csdnimg.cn/56af79db71e54f95b9000f1a2a939f00.png)
- 支持的校对规则信息
show collation
![在这里插入图片描述](https://img-blog.csdnimg.cn/22c514328c684158a5bf4c1fce0a3869.png)
- 上一个执行语句的告警信息
explain select id from region where id = 9;
show warnings;
![在这里插入图片描述](https://img-blog.csdnimg.cn/025f1c53af5f408097a6e0893af7b29b.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/e82fab75552a4c17a79857b3671889cf.png)
显示的信息包括:错误、告警、注意。
- 上一个执行语句的错误信息
explain select id from region where id = 9;
show errors;
![在这里插入图片描述](https://img-blog.csdnimg.cn/b9eb37c7ee9a4ca8a1ba7d235613207d.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/957263c18f4c440f9aaa0e351030f162.png)
与show warnings不同的是:show errors只显示错误信息。
- 服务器线程信息
- 用户无process权限,只可以查看自己的线程信息
- 用户有process权限,就可以查看所有的线程信息(包括密码)
- full关键字显示所有info列的信息,不带关键字full时只显示前100字符。
show processlist
![在这里插入图片描述](https://img-blog.csdnimg.cn/47e7bd80900249588c5b938d1dd83bb2.png)
- 用户权限信息
1. 查询所有用户信息
select * from mysql.user
![在这里插入图片描述](https://img-blog.csdnimg.cn/1f443d108a484ff9bee12b38c1e4c633.png)
2. 查询当前用户权限
show grants;
或
show grants for current_user();
或
show grants for current_user;
![在这里插入图片描述](https://img-blog.csdnimg.cn/afd76d245ee34b6c810ef39c40379658.png)
3. 查询指定用户权限
show grants for root;
![在这里插入图片描述](https://img-blog.csdnimg.cn/460da0d39d874699bbe4b149027d2622.png)
- 支持的权限列表
show privileges
![在这里插入图片描述](https://img-blog.csdnimg.cn/6fa438b788ea4332b3cab8f569cd881e.png)
- 二进制日志文件列表
show binary logs
![在这里插入图片描述](https://img-blog.csdnimg.cn/a46dc1e92a274d98a44b29ea44a74c82.png)
- 主库二进制日志文件列表
show master logs
![在这里插入图片描述](https://img-blog.csdnimg.cn/8674d1ccef7c4a70923159c2b1c7c7f6.png)
show master logs和show binary logs相同。
- 系统变量信息
show variables与show session variables相同,默认查询会话级系统变量信息。
show variables;
show session variables;
show global variables;
![在这里插入图片描述](https://img-blog.csdnimg.cn/81c677d5baeb41ac80204b63da385e6d.png)
- 主服务器状态信息
show master status
![在这里插入图片描述](https://img-blog.csdnimg.cn/c3db5f3febb9406984d0eaa640da1f05.png)
- 从服务器状态信息
show slave status
![在这里插入图片描述](https://img-blog.csdnimg.cn/80fdce0214f24793a2816dcd228efe83.png)
- 从服务器HOST列表
show slave hosts
![在这里插入图片描述](https://img-blog.csdnimg.cn/a1ac038ffe334fb1b2199d49def5c4e7.png)
- SQL性能分析
使用SQL性能分析需开启性能分析开关。
-- 查询会话性能分析开关是否开启
show variables like 'profiling';
-- 开启会话新能分析开关
set profiling=OFF;
1. 最近15条SQL性能分析信息
show profiles
![在这里插入图片描述](https://img-blog.csdnimg.cn/044015ce0d7f4413a2f7563c665377ae.png)
2. 可以修改默认查询条数
set profiling_history_size = 100;
3. 指定Query_ID的SQL性能分析详情
格式:show profile [参数1,参数2] for query [Query_ID]
参数可选值:
- ALL显示所有信息
- BLOCK IO显示块输入和输出操作的计数
- CONTEXT SWITCHES显示自愿和非自愿上下文切换的计数
- CPU显示用户和系统 CPU 使用时间
- IPC显示发送和接收的消息计数
- MEMORY当前未实现
- PAGE FAULTS显示主要和次要页面错误的计数
- SOURCE显示源代码中的函数名称,以及发生函数的文件的名称和行号
- SWAPS显示交换计数
show profile cpu,block io for query 1380;
![在这里插入图片描述](https://img-blog.csdnimg.cn/0ed6768c7ab443e384b02435691b1b77.png)
- 支持的存储引擎列表
show engines
![在这里插入图片描述](https://img-blog.csdnimg.cn/943fddce59b041a38b072a8390bf4c29.png)
- 指定存储引擎状态
show engine InnoDB status
![在这里插入图片描述](https://img-blog.csdnimg.cn/362940c1127641579c9aa9522dd70888.png)
- 指定存储引擎互斥参数
show engine InnoDB mutex
![在这里插入图片描述](https://img-blog.csdnimg.cn/bed32a0ed79842999cbf817707c36c28.png)
- 数据库名称集合
show databases
![在这里插入图片描述](https://img-blog.csdnimg.cn/4a10bd2883b448d99a95182ae5a10af8.png)
- 数据库构建信息
show create database demo
![在这里插入图片描述](https://img-blog.csdnimg.cn/de4f0f804c9f496484ba1bd6eaa9493e.png)
- 数据库中表名称
-- 显示当前数据库中所有表名称
show tables
-- 显示指定数据库中所有表名称
show tables from demo
- 表的构建语句
show create table timed_task
![在这里插入图片描述](https://img-blog.csdnimg.cn/ec833c920615407099ea7892e0cc7a27.png)
- 数据库的所有表的状态信息
-- 当前数据库的所有表状态信息
show table status
-- 指定数据库的所有表状态信息
show table status from demo
![在这里插入图片描述](https://img-blog.csdnimg.cn/82ffc67878a645d48beaf823306498b4.png)
- 表的所有列信息
-- 当前数据库指定表所有列信息
show columns from timed_task;
-- 指定数据库指定表所有列信息
show columns from demo.time_table;
-- 指定数据库指定表所有列信息
show columns from time_table from demo;
-- 当前数据库指定表所有列信息
show fields from timed_task;
-- 指定数据库指定表所有列信息
show fields from demo.time_table;
-- 指定数据库指定表所有列信息
show fields from time_table from demo;
![在这里插入图片描述](https://img-blog.csdnimg.cn/c750ff6cf37f4857a77924faf0358dad.png)
- 指定表的所有索引信息
-- 当前数据库指定表所有索引信息
show index from article;
-- 指定数据库指定表所有索引信息
show index from demo.article;
-- 指定数据库指定表所有索引信息
show index from article from demo;
-- 当前数据库指定表所有索引信息
show keys from article;
-- 指定数据库指定表所有索引信息
show keys from demo.article;
-- 指定数据库指定表所有索引信息
show keys from article from demo;
![在这里插入图片描述](https://img-blog.csdnimg.cn/fbbe796ae2f94c21a6b1a0b353f73fda.png)
- 已经在表缓存中打开的非临时表信息
-- 所有数据库中已经在表缓存中打开的非临时表信息
show open tables;
-- 指定数据库中已经在表缓存中打开的非临时表信息
show open tables from demo;
![在这里插入图片描述](https://img-blog.csdnimg.cn/2356a4d2364446e1a378752b735b60fe.png)
- 指定数据库的所有触发器信息
-- 当前数据库所有触发器信息
show triggers;
-- 指定数据库所有触发器信息
show triggers from demo;
![在这里插入图片描述](https://img-blog.csdnimg.cn/c757cb45275d41f98dab02bf9e76bc83.png)
- 指定数据库中的所有事件信息
-- 当前数据库所有事件信息
show events;
-- 指定数据库所有事件信息
show events from demo;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20d51592fff542d9a501fbefc763b4f6.png)
- 创建触发器语句
show create trigger trigger1
- 创建事件语句
show create event add_partition_every_month
![在这里插入图片描述](https://img-blog.csdnimg.cn/585c0cbb67ac43638cd1acf442c1d80c.png)
- 创建函数语句
show create function currval
![在这里插入图片描述](https://img-blog.csdnimg.cn/c730126cfe314c128a9e3eb185728fcd.png)
- 创建存储函数语句
show create procedure create_partition_by_month
![在这里插入图片描述](https://img-blog.csdnimg.cn/23488aa7504b4973982060bbf0740be4.png)
- 创建用户语句
show create user root
![在这里插入图片描述](https://img-blog.csdnimg.cn/c872b4636047470886121f88c3eb3417.png)
- 创建视图语句
show create view article_view
![在这里插入图片描述](https://img-blog.csdnimg.cn/01f95bc8a95f43959936070f35b1d553.png)