テーブルの一覧とテーブルに関する情報を取得する
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;
現在のデータベースに作成済みのテーブルの一覧が表示されました。
FULL を付けて実行した場合、結果に Table_type カラムが表示されます。ます。 Table_type カラムの値が BASE TABLE の場合はテーブル , VIEW の場合はビュー、 SEQUENCE の場合は シーケンスを表します。
show full tables;
現在作成されているテーブルはどちらもテーブルであることが確認できました。
作成したテーブルと同じテーブルを作成するためのCREATE TABLE文を確認する
テーブル名を指定して、そのテーブルを作成するのと同じテーブルを作成するための CREATE TABLE 文を表示するには SHOW CREATE TABLE 文を使います。書式は次の通りです。
SHOW CREATE TABLE tbl_name
それでは実際に試してみます。作成済みの drink テーブルについて次のように実行してください。
show create table drink\G
テーブルを作成した時の 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
対象のテーブルに関する情報を取得することができました。テーブルに格納されているデータの数は 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
対象のテーブルに関する情報を取得することができました。先ほどと同じようにテーブルに格納されているデータの数は TABLE_ROWS カラム、最終更新日は UPDATE_TIME カラムの値で確認することができます。
-- --
MariaDB で作成済のテーブルの一覧や、テーブルが作成された時の CREATE TABLE 文の情報などテーブルに関する情報を取得する方法について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。