MySQLでよく使われるshow構文

11332 ワード

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 PROSCESSLISTは、実行中のスレッドを表示します.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)を行うと、実行がアクティブになります.
トリガは構文4要素を作成します.
  • 監視場所(table)
  • 監視イベント(insert/update/delete)
  • トリガ時間(after/before)
  • トリガイベント(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