MySQLまたはMariaDBのデータベース内のテーブル数を確認する方法をお伝えします。

サンプルデータベースを次のように準備します。


# データベース作成
CREATE DATABASE sample_database;

# データベース指定
use sample_database;

# テーブル作成
CREATE TABLE sample01 (col11 INT, col12 CHAR(10));
CREATE TABLE sample02 (col21 INT, col22 CHAR(10), col23 DOUBLE);

データベース内のテーブルに関する情報はinformation_schema.tablesにあります。


SHOW FULL COLUMNS FROM information_schema.tables;

+-----------------+---------------------+-----------------+------+-----+---------+-------+------------+---------+
| Field           | Type                | Collation       | Null | Key | Default | Extra | Privileges | Comment |
+-----------------+---------------------+-----------------+------+-----+---------+-------+------------+---------+
| TABLE_CATALOG   | varchar(512)        | utf8_general_ci | NO   |     |         |       | select     |         |
| TABLE_SCHEMA    | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| TABLE_NAME      | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| TABLE_TYPE      | varchar(64)         | utf8_general_ci | NO   |     |         |       | select     |         |
| ENGINE          | varchar(64)         | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| VERSION         | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| ROW_FORMAT      | varchar(10)         | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| TABLE_ROWS      | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| AVG_ROW_LENGTH  | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| DATA_LENGTH     | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| MAX_DATA_LENGTH | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| INDEX_LENGTH    | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| DATA_FREE       | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| AUTO_INCREMENT  | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| CREATE_TIME     | datetime            | NULL            | YES  |     | NULL    |       | select     |         |
| UPDATE_TIME     | datetime            | NULL            | YES  |     | NULL    |       | select     |         |
| CHECK_TIME      | datetime            | NULL            | YES  |     | NULL    |       | select     |         |
| TABLE_COLLATION | varchar(32)         | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| CHECKSUM        | bigint(21) unsigned | NULL            | YES  |     | NULL    |       | select     |         |
| CREATE_OPTIONS  | varchar(2048)       | utf8_general_ci | YES  |     | NULL    |       | select     |         |
| TABLE_COMMENT   | varchar(2048)       | utf8_general_ci | NO   |     |         |       | select     |         |
+-----------------+---------------------+-----------------+------+-----+---------+-------+------------+---------+

そのinformation_schema.tablesを用いて、sample_databaseデータベース内のテーブル数を確認するSQLコードは次になります。


SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'sample_database';

+----------+
| COUNT(*) |
+----------+
|        2 |
+----------+
1 row in set (0.00 sec)

関連する記事

  • MySQL 月の差分を計算する方法MySQL 月の差分を計算する方法 MySQLで、月の差分を計算する方法をお伝えする。 計算は、PERIOD_DIFF関数を用いれば簡単に求めることができる。 これは、二つの期間の差の月数を返す関数である。 PERIOD_DIFF(P1, […]
  • Ubuntu MongoDBのインストールする手順Ubuntu MongoDBのインストールする手順 Ubuntu16.04にMongoDB3.4をインストールする手順をお伝えいたします。 環境 今回の作業環境を確認しておきます。また、以下の作業はすべてターミナルにて行っております。 Ubuntuのバージョン $ cat […]
  • Python 度数分布表から乱数を生成するPython 度数分布表から乱数を生成する Pythonで与えられた度数分布に従う乱数を生成する方法をご紹介する。 さっそくだが、全コードを以下に記す。 import random import matplotlib.pyplot as plt def random_freq_index(freq_list): """ 度数分布表から乱数を生成してインデックス番号を返します […]
  • R言語 CRAN Task View:社会科学の統計R言語 CRAN Task View:社会科学の統計 CRAN Task View: Statistics for the Social Sciencesの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: John Fox Contact: jfox at […]
  • 平均的に分類する方法の考察(3)平均的に分類する方法の考察(3) 前回は、定量データをスコア順に並び替えたのち、この順番でグループに割り振っていく方法を見た。今回は、定量データをスコア順に並び替えるところは同じだが、割り振り方を変更することにより、より平均的に分類できないかを見ていく。 前回と同じく、100人の学生を3つのクラスA、B、Cに分ける方法を考えてみる。 まず、学生をスコア順にA、B、Cに一人ずつ割り振る。 次に […]
MySQL データベース内のテーブル数を確認する方法