データベースやテーブルを表示

記事の内容

概要

SHOWは、データベースやテーブル、またはその他の情報を表示するためのコマンドです。

mysqlのshowに関しての説明図

データベース

SHOW
記述

SHOW DATABASES;

【使用中のDB確認】
mysql> SELECT database();
+------------+
| database() |
+------------+
| testDB     |
+------------+
1 row in set (0.00 sec)

【DB一覧】
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| laravel            |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
8 rows in set (0.01 sec)

テーブル

SHOW(一覧)
記述

SHOW TABLES;

【使用中のDB確認】
mysql> SELECT database();
+------------+
| database() |
+------------+
| testDB     |
+------------+
1 row in set (0.00 sec)

【テーブル一覧】
mysql> SHOW TABLES;
+-----------------------+
| Tables_in_testDB      |
+-----------------------+
| cache                 |
| cache_locks           |
| failed_jobs           |
| job_batches           |
| jobs                  |
| migrations            |
| password_reset_tokens |
| sessions              |
| users                 |
+-----------------------+
9 rows in set (0.01 sec)

カラム情報

SHOW(テーブルのカラム情報)
記述

SHOW COLUMNS FROM テーブル名;

【使用中のDB確認】
mysql> SELECT database();
+------------+
| database() |
+------------+
| testDB     |
+------------+
1 row in set (0.00 sec)

【指定したテーブルのカラム一覧】
mysql> SHOW COLUMNS FROM users;
+-------------------+-----------------+------+-----+---------+----------------+
| Field             | Type            | Null | Key | Default | Extra          |
+-------------------+-----------------+------+-----+---------+----------------+
| id                | bigint unsigned | NO   | PRI | NULL    | auto_increment |
| name              | varchar(255)    | NO   |     | NULL    |                |
| email             | varchar(255)    | NO   | UNI | NULL    |                |
| email_verified_at | timestamp       | YES  |     | NULL    |                |
| password          | varchar(255)    | NO   |     | NULL    |                |
| remember_token    | varchar(100)    | YES  |     | NULL    |                |
| created_at        | timestamp       | YES  |     | NULL    |                |
| updated_at        | timestamp       | YES  |     | NULL    |                |
+-------------------+-----------------+------+-----+---------+----------------+
8 rows in set (0.01 sec)

インデックス情報

SHOW(テーブルのインデックス情報)
記述

SHOW INDEX FROM テーブル名;

【使用中のDB確認】
mysql> SELECT database();
+------------+
| database() |
+------------+
| testDB     |
+------------+
1 row in set (0.00 sec)

【指定したテーブルのインデックス確認】
mysql> SHOW INDEX FROM users;
+-------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| Table | Non_unique | Key_name           | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | Expression |
+-------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
| users |          0 | PRIMARY            |            1 | id          | A         |           0 |     NULL |   NULL |      | BTREE      |         |               | YES     | NULL       |
| users |          0 | users_email_unique |            1 | email       | A         |           0 |     NULL |   NULL |      | BTREE      |         |               | YES     | NULL       |
+-------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+------------+
2 rows in set (0.01 sec)
記事の内容
閉じる