mysqlshowクライアントは、どのデータベース、そのテーブル、あるいはテーブルカラムのインデックスが
存在するか確認するために利用する事ができます。

データベースをリスト表示
mysqlshow -u root -p
特定のデータベース内のテーブルをリスト表示
mysqlshow STUDY -u root -p

mysqlshow

特定のデータベース内の特定のテーブルなどの表示
mysqlshow STUDY "MYSQLI%" -u root -p
mysqlshow STUDY "MYSQLI*" -u root -p

mysqlshow_2

補足(Indexの確認も可能/同時に一つのみ)

[root@colinux]$ mysqlshow --keys test innodbtable -u root -p
Enter password:
Database: test Table: innodbtable
+——-+———+———–+——+—–+———+——-+———————————+———+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+——-+———+———–+——+—–+———+——-+———————————+———+
| id | int(11) | | YES | | | | select,insert,update,references | |
+——-+———+———–+——+—–+———+——-+———————————+———+
Table has no keys
[root@colinux]$

参考サイト

7.15. mysqlshow — データベース、テーブル、カラム情報を表示


どのデータベースを利用していても、予約語があってそれぞれ他の操作方法とは
違う操作が必要になるが。MYSQLではどのようなワードが予約語なのだろうか?

※予約語では通常の方法ではオブジェクトが作成出来ない。
※シングルクオートで囲ってもオブジェクトも作成が出来ない。
※Backticks quoteであれば、予約語でもオブジェクトを作成できる。
↓ 以下(例)


mysql> CREATE TABLE select (id INT);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select (id INT)' at line 1
mysql>
mysql> CREATE TABLE 'select' (id INT);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''select' (id INT)' at line 1
mysql>
mysql> CREATE TABLE `select` (id INT);
Query OK, 0 rows affected (0.00 sec)

mysql> desc `select`;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)

mysql>

yoyakugo

MYSQLの予約語詳細はMYSQLのサイトで確認出来ます。

6.1.7. MySQL での予約語の扱い

ADD ALL ALTER
ANALYZE AND AS
ASC BEFORE BETWEEN
BIGINT BINARY BLOB
BOTH BY CASCADE
など…..

—————————————————————————————
以下のような絶対作らないような、名前のオブジェクトも作成出来る。
但しOSが特定の文字を使ったファイル名をサポートしていないので注意。
—————————————————————————————
filename

—————————————————————————————
データベースもテーブルと同じように予約語などでも作成出来る。
—————————————————————————————

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| DATABASE |
| DB01 |
| DB02 |
| MyAdmin |
| STUDY |
| TEST |
| client_test_db |
| mysql |
+--------------------+
9 rows in set (0.00 sec)

mysql> CREATE DATABASE `0123456789`;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| 0123456789 |
| DATABASE |
| DB01 |
| DB02 |
| MyAdmin |
| STUDY |
| TEST |
| client_test_db |
| mysql |
+--------------------+
10 rows in set (0.00 sec)

mysql> CREATE DATABASE `SELECT`;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| 0123456789 |
| DATABASE |
| DB01 |
| DB02 |
| MyAdmin |
| SELECT |
| STUDY |
| TEST |
| client_test_db |
| mysql |
+--------------------+
11 rows in set (0.00 sec)

mysql>

database