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

広告

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

(2021 年 07 月 26 日公開 / 2021 年 07 月 26 日更新)

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

現在作成されているテーブルの一覧を取得する方法です。 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 )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。