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)时就会激活它执行。
触发器创建语法四要素:
SHOW VARIABLES
SHOW VARIABLES;
SHOW GLOBAL VARIABLES;
SHOW SESSION VARIABLES;
SHOW VARIABLES LIKE 'have%';
SHOW WARNINGS
显示由上一个生成消息的语句导致的错误、警告和注意消息。
如果上一个使用表的语句未生成消息,则什么也不显示。
SHOW ERRORS是其相关语句,只显示错误。
SHOW COUNT(*) WARNINGS;
SHOW WARNINGS;
https://dev.mysql.com/doc/refman/5.7/en/show.html