MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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」など、データベースやテーブルの情報を手軽に確認できるコマンドが揃っています。これらを活用すれば、名前や構造を忘れてしまっても素早く情報を取得でき、日々のデータベース操作を効率化できます。ぜひ日常業務の中で積極的に使ってみてください。

  1. MariaDB/MySQLデータベースの圧縮・デフラグ・最適化の完全ガイド

    本記事では、MySQL/MariaDBにおけるテーブルやデータベースの圧縮・デフラグメンテーション(断片化解消)の手法を詳しく解説します。これらの方法を活用することで、データベースが配置されているディスクの容量を大幅に節約できます。 大規模プロジェクトのデータベースは時間とともに急激に肥大化していき、「どう対処すべきか」という課題が必ず発生します。解決策としては、古いデータを削除してデータ量を減らす、データベースを小さく分割する、サーバーのディスク容量を増設する、テーブルを圧縮・縮小する、といった方法が挙げられます。 また、データベース運用においてもう一つ重要なのが、パフォーマンス向上のために

  2. mysqldumpとは?MySQLデータベースの論理バックアップを徹底解説

    mysqldumpは、MySQLに標準で付属するクライアントユーティリティで、データベースの論理バックアップを行うためのツールです。実行すると、元のデータベースオブジェクト定義(テーブル構造など)とテーブルデータを再現できる一連のSQL文が出力されます。このSQL文を別のサーバーで実行すれば、元の状態をそのまま復元できます。mysqldumpの主な用途と特徴1つまたは複数のMySQLデータベースをダンプし、バックアップや他のSQLサーバーへの移行に利用できます。出力形式はSQL文のほか、CSVやタブ区切りなどの区切りテキスト、XML形式にも対応しています。mysqldumpを実行するには、ダン