テーブルの一覧とテーブルに関する情報を取得する

MariaDB で作成済のテーブルの一覧や、テーブルが作成された時の CREATE TABLE 文の情報などテーブルに関する情報を取得する方法について解説します。SHOW TABLES 文, SHOW CREATE TABLE 文, SHOW TABLE STATUS 文などを使用します。

(Last modified: )

作成済のテーブル一覧を確認する

現在作成されているテーブルの一覧を取得する方法です。 SHOW TABLES 文を使います。書式は次の通りです。

SHOW [FULL] TABLES [FROM db_name]
    [LIKE 'pattern' | WHERE expr]

現在選択しているデータベースに含まれるテーブル、シーケンス、ビューの一覧を取得する場合は次のように実行してください。

show tables;

作成済のテーブル一覧を確認する(1)

現在のデータベースに作成済みのテーブルの一覧が表示されました。

FULL を付けて実行した場合、結果に Table_type カラムが表示されます。ます。 Table_type カラムの値が BASE TABLE の場合はテーブル , VIEW の場合はビュー、 SEQUENCE の場合は シーケンスを表します。

show full tables;

作成済のテーブル一覧を確認する(2)

現在作成されているテーブルはどちらもテーブルであることが確認できました。

作成したテーブルと同じテーブルを作成するためのCREATE TABLE文を確認する

テーブル名を指定して、そのテーブルを作成するのと同じテーブルを作成するための CREATE TABLE 文を表示するには SHOW CREATE TABLE 文を使います。書式は次の通りです。

SHOW CREATE TABLE tbl_name

それでは実際に試してみます。作成済みの drink テーブルについて次のように実行してください。

show create table drink\G

作成したテーブルと同じテーブルを作成するためのCREATE TABLE文を確認する(1)

テーブルを作成した時の CREATE TABLE 文では明示的に指定していないデフォルトのストレージエンジンやデフォルトの文字セットなどの情報も含めて、同じテーブルを作成するのに必要な CREATE TABLE 文が表示されました。

テーブルに格納されているデータの数や最終更新日時を取得する

テーブルに現在格納されているデータ数や最終更新時間などテーブルに関する詳細情報を取得するには SHOW TABLE STATUS 文を使います。書式は次の通りです。

SHOW TABLE STATUS [{FROM | IN} db_name]
    [LIKE 'pattern' | WHERE expr]

単に show table status; と実行した場合は現在選択しているデータベースに含まれるすべてのテーブルに関して情報を表示します。特定のテーブルに関してだけ情報を取得する場合は LIKE 句や WHERE 句を使用してください。

SHOW TABLE STATUS
SHOW TABLE STATUS LIKE 'pattern'
SHOW TABLE STATUS WHERE expr

それでは実際に試してみます。選択しているデータベースに含まれる drink テーブルについて情報を取得するため次のように実行してください。

show table status where name='drink'\G

テーブルに格納されているデータの数や最終更新日時を取得する(1)

対象のテーブルに関する情報を取得することができました。テーブルに格納されているデータの数は Row カラム、最終更新日は Update_time カラムの値で確認することができます。

INFORMATION_SCHEMAデータベースのTABLESテーブルを参照する

INFORMATION_SCHEMA データベースは MariaDB に作成されているデータベースやテーブルなどの情報を参照するために利用できます。テーブルに関しては INFORMATION_SCHEMA データベースの中の TABLES テーブルに格納されており、情報を参照するには次のように入力して下さい。

select * from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='mydb' and TABLE_NAME='drink'\G

INFORMATION_SCHEMAデータベースのTABLESテーブルを参照する(1)

対象のテーブルに関する情報を取得することができました。先ほどと同じようにテーブルに格納されているデータの数は TABLE_ROWS カラム、最終更新日は UPDATE_TIME カラムの値で確認することができます。

-- --

MariaDB で作成済のテーブルの一覧や、テーブルが作成された時の CREATE TABLE 文の情報などテーブルに関する情報を取得する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。