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 データベース内のテーブル数を確認する方法