MySQLでデータベースやテーブルの情報を取得する方法|SHOW・DESCRIBEの使い方を解説
はじめに
データベース名やテーブル名、テーブルの構造、カラム名などをうっかり忘れてしまうことは、開発現場でよくあることです。MySQLでは、データベースやテーブルに関する情報を取得するための便利なステートメントが多数用意されているため、このような問題も簡単に解決できます。
本記事では、代表的な情報取得コマンドである「SHOW DATABASES」「DATABASE()」「SHOW TABLES」「DESCRIBE」の使い方を順番に解説します。
サーバーが管理するデータベースの一覧を表示する
「SHOW DATABASES」クエリを使うと、サーバーが管理しているすべてのデータベースの一覧を表示できます。
mysql> SHOW DATABASES;
また、現在どのデータベースが使用中かを確認するには、「DATABASE()」関数を使用します。
DATABASE()関数の実行例
mysql> SELECT DATABASE();
出力結果
+---------------------+ | DATABASE() | +---------------------+ | databaseInUse | +---------------------+
なお、データベースが何も選択されていない場合は、結果として「NULL」が返されます。
使用中のデータベースに含まれるテーブル一覧を表示する
現在選択しているデフォルトのデータベースに、どのようなテーブルが存在するのかを確認するには、以下のクエリを実行します。
mysql> SHOW TABLES;
出力結果
+-----------------------------------+ | Tables_in_databaseInUse | +-----------------------------------+ | val1 | | val2 | +-----------------------------------+
出力結果に表示されるカラム名は「Tables_in_databaseInUse」のようになり、「databaseInUse」の部分には現在選択中のデータベース名が自動的に表示されます。
DESCRIBE文でテーブルの構造を確認する
テーブル構造についてさらに詳しい情報を知りたい場合は、「DESCRIBE」ステートメントを使用します。これにより、テーブルを構成する各カラムの詳細情報を一覧形式で確認できます。
mysql> DESCRIBE pet;
出力結果
+---------+-------------+-------+------+-----------+--------+ | Field | Type | Null | Key | Default | Extra | +---------+-------------+-------+------+-----------+--------+ | name | varchar(20) | YES | | NULL | | | owner | varchar(20) | YES | | NULL | | +---------+-------------+-------+------+-----------+--------+
各項目の意味
- Field:カラム名を示します。
- Type:カラムのデータ型を表します。
- Null:そのカラムにNULL値を格納できるかどうかを示します。
- Key:カラムにインデックスが設定されているかどうかを示します。
- Default:カラムに設定されたデフォルト値を表します。
- Extra:カラムに関する特別な情報を表示します。たとえば、カラムが「AUTO_INCREMENT」オプション付きで作成されている場合、ここは空にならず「auto_increment」と表示されます。
まとめ
MySQLには「SHOW DATABASES」「DATABASE()」「SHOW TABLES」「DESCRIBE」など、データベースやテーブルの情報を手軽に確認できるコマンドが揃っています。これらを活用すれば、名前や構造を忘れてしまっても素早く情報を取得でき、日々のデータベース操作を効率化できます。ぜひ日常業務の中で積極的に使ってみてください。
-
MariaDB/MySQLデータベースの圧縮・デフラグ・最適化の完全ガイド
本記事では、MySQL/MariaDBにおけるテーブルやデータベースの圧縮・デフラグメンテーション(断片化解消)の手法を詳しく解説します。これらの方法を活用することで、データベースが配置されているディスクの容量を大幅に節約できます。 大規模プロジェクトのデータベースは時間とともに急激に肥大化していき、「どう対処すべきか」という課題が必ず発生します。解決策としては、古いデータを削除してデータ量を減らす、データベースを小さく分割する、サーバーのディスク容量を増設する、テーブルを圧縮・縮小する、といった方法が挙げられます。 また、データベース運用においてもう一つ重要なのが、パフォーマンス向上のために
-
mysqldumpとは?MySQLデータベースの論理バックアップを徹底解説
mysqldumpは、MySQLに標準で付属するクライアントユーティリティで、データベースの論理バックアップを行うためのツールです。実行すると、元のデータベースオブジェクト定義(テーブル構造など)とテーブルデータを再現できる一連のSQL文が出力されます。このSQL文を別のサーバーで実行すれば、元の状態をそのまま復元できます。mysqldumpの主な用途と特徴1つまたは複数のMySQLデータベースをダンプし、バックアップや他のSQLサーバーへの移行に利用できます。出力形式はSQL文のほか、CSVやタブ区切りなどの区切りテキスト、XML形式にも対応しています。mysqldumpを実行するには、ダン