MySQL常用的show语法

MySQL show语法

SHOW BINARY LOGS

SHOW BINARY LOGS 列出服务器上的二进制日志文件。
SHOW BINLOG EVENTS 显示二进制日志中的事件。如果未指定 ,则显示第一个二进制日志。

mysql> SHOW BINARY LOGS;
| Log_name         | File_size |
| ---------------- | --------- |
| mysql-bin.000036 | 524288088 |
| mysql-bin.000037 | 524288064 |
| mysql-bin.000038 | 524288230 |

如果没有设置启用二进制日志文件,将会出现如下提示:

mysql> SHOW BINARY LOGS;
ERROR 1381 (HY000): You are not using binary logging
mysql> SHOW MASTER LOGS;
ERROR 1381 (HY000): You are not using binary logging
mysql> SHOW BINLOG EVENTS;
Empty set (0.01 sec)

SHOW CHARACTER SET

显示所有可用的字符集

SHOW CHARACTER SET;
SHOW CHARACTER SET LIKE 'utf8%';

示例:

mysql> SHOW CHARACTER SET LIKE 'utf8%';
+---------+---------------+--------------------+--------+
| Charset | Description   | Default collation  | Maxlen |
+---------+---------------+--------------------+--------+
| utf8    | UTF-8 Unicode | utf8_general_ci    |      3 |
| utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci |      4 |
+---------+---------------+--------------------+--------+
2 rows in set (0.00 sec)

SHOW COLLATION

输出包括所有可用的字符集

SHOW COLLATION;
SHOW COLLATION LIKE 'utf8%';

SHOW COLUMNS

显示在一个给定表中的各列的信息,对于视图,本语句也起作用。

SHOW COLUMNS FROM mydb.mytable;
SHOW COLUMNS FROM mytable FROM mydb;

SHOW CREATE DATABASE

显示用于创建给定数据库CREATE DATABASE语句。也可以使用SHOW CREATE SCHEMA。

SHOW CREATE DATABASE test;
SHOW CREATE DATABASE test\G;

SHOW CREATE TABLE

SHOW CREATE TABLE java;
SHOW CREATE TABLE java\G;

SHOW DATABASES

SHOW DATABASES 可以在 MySQL 服务器主机上列出数据库。
也可以使用mysqlshow命令得到此清单。
只能看到拥有某些权限的数据库,除非拥有全局SHOW DATABASES权限。

SHOW DATABASES;

SHOW ENGINE

SHOW ENGINE: 显示存储引擎的日志或状态信息。目前支持以下语句:
SHOW ENGINE INNODB MUTEX 显示 InnoDB mutex 和 rw-lock 统计信息

SHOW ENGINE engine_name {STATUS | MUTEX}
SHOW ENGINE INNODB STATUS;

示例:

mysql> SHOW ENGINE INNODB MUTEX;
+--------+-----------------------------+-----------+
| Type   | Name                        | Status    |
+--------+-----------------------------+-----------+
| InnoDB | rwlock: dict0dict.cc:1184   | waits=851 |
| InnoDB | rwlock: fil0fil.cc:1381     | waits=3   |
| InnoDB | rwlock: log0log.cc:838      | waits=226 |
| InnoDB | rwlock: btr0sea.cc:195      | waits=1   |
| InnoDB | rwlock: hash0hash.cc:353    | waits=1   |
| InnoDB | rwlock: hash0hash.cc:353    | waits=1   |
| InnoDB | sum rwlock: buf0buf.cc:1460 | waits=184 |
+--------+-----------------------------+-----------+
7 rows in set (0.12 sec)

SHOW ENGINES

SHOW ENGINES显示存储引擎的状态信息。对于检查一个存储引擎是否被支持,或者对于查看默认引擎是什么,本语句十分有用。

SHOW ENGINES;
SHOW ENGINES\G;

示例:

msyql> show engines;
| Engine| Support | Comment  | Transactions | XA   | Savepoints |
| -----| ------- | -----------------------  | ---------  | ---- | ---- |
| InnoDB| DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES  | YES |
| CSV| YES | CSV storage engine | NO | NO | NO |
| MyISAM| YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE| YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
| MEMORY| YES | Hash based,stored in memory,useful for temporary tables| NO | NO | NO |
| ARCHIVE| YES | Archive storage engine | NO | NO | NO |
| MRG_MYISAM| YES | Collection of identical MyISAM tables |NO|NO| NO|
| FEDERATED| NO | Federated MySQL storage engine|NULL|NULL| NULL |

SHOW ERRORS

该语句只显示错误,不同时显示错误、警告和注意。

SHOW COUNT(*) ERRORS;
SHOW ERRORS;

SHOW GRANTS

SHOW GRANTS;
SHOW GRANTS FOR user;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

SHOW INDEX

SHOW INDEX会返回表索引信息。

SHOW INDEX FROM mydb.mytable;
SHOW INDEX FROM mytable FROM mydb;

SHOW OPEN TABLES

列举在表缓存中当前被打开的非TEMPORARY表。

SHOW OPEN TABLES;

SHOW PRIVILEGES

显示MySQL服务器支持的系统权限清单。确切的输出根据服务器的版本而定

SHOW PRIVILEGES;

**SHOW PROFILES **

SHOW PROFILES语句与SHOW PROFILE显示的分析信息一起显示在当前会话过程中执行的语句的资源使用情况。

SHOW PROCESSLIST

SHOW PROCESSLIST 用来显示哪些线程正在运行。
也可以使用mysqladmin processlist语句得到此信息。
如果有SUPER权限,可以看到所有线程。否则,只能看到自己的线程

mysql> SHOW PROCESSLIST;
+---+--------+---------------+-----+------+----+-----+----------+
| Id  | User | Host | db | Command | Time | State    | Info |
+---+--------+---------------+------+------+---+------+----------+
|120|homestead|192.168.10.1:57001| testdb| Sleep|10 | | NULL |
|124|homestead|192.168.10.1:60613| NULL  | Sleep| 59 | | NULL |
|138|homestead|192.168.10.1:56737| testdb| Sleep| 1010 | | NULL |
|139|homestead|localhost| NULL | Query| 0| starting | SHOW PROCESSLIST |
+---+--------+---------------+-----+------+----+-----+----------+

SHOW STATUS

提供服务器状态信息。此信息也可以使用mysqladmin extended-status命令获得。

SHOW STATUS;

SHOW TABLE STATUS

SHOW TABLE STATUS的性质与SHOW TABLE类似,不过,可以提供每个表的大量信息。
也可以使用mysqlshow --status db_name命令得到此清单。

本语句也显示视图信息。

SHOW TABLE STATUS;
SHOW TABLE STATUS FROM test;

SHOW TABLES

SHOW TABLES列举了给定数据库中的非TEMPORARY表。
也可以使用 mysqlshow db_name命令得到此清单。

SHOW TABLES;
mysql> SHOW TABLES;
ERROR 1046 (3D000): No database selected
mysql> use testdb;
Database changed
mysql> SHOW TABLES;
+------------------+
| Tables_in_testdb |
+------------------+
| en_names         |
| my_todos         |
| my_users         |
+------------------+
3 rows in set (0.00 sec)

SHOW TRIGGERS

SHOW TRIGGERS列出了目前被MySQL服务器定义的触发程序(触发器)。

SHOW TRIGGERS;

触发器(trigger)是存储在数据库目录中的一组SQL语句。每当与表相关联的事件发生时,即会执行或触发SQL触发器。例如,当对一个表进行操作插入( insert)、删除(delete)、更新( update)时就会激活它执行。

触发器创建语法四要素:

  1. 监视地点 (table)
  2. 监视事件 (insert/update/delete)
  3. 触发时间 (after/before)
  4. 触发事件 (insert/update/delete)

SHOW VARIABLES

SHOW VARIABLES;
SHOW GLOBAL VARIABLES;
SHOW SESSION VARIABLES;
SHOW VARIABLES LIKE 'have%';

SHOW WARNINGS

显示由上一个生成消息的语句导致的错误、警告和注意消息。
如果上一个使用表的语句未生成消息,则什么也不显示。
SHOW ERRORS是其相关语句,只显示错误。

SHOW COUNT(*) WARNINGS;
SHOW WARNINGS;

Reference

https://dev.mysql.com/doc/refman/5.7/en/show.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Web后端技术

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值