MySQLでデータベース内のテーブル数を表示するクエリの書き方
INFORMATION_SCHEMA.TABLESを使ってテーブル数を取得する
ここでは例として、「WEB」というデータベースを使用しているものとします。このデータベース内に存在するテーブルの総数を調べたい場合、MySQLではINFORMATION_SCHEMA.TABLESを利用するのが便利です。
INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(データベース名、テーブル名、カラム情報など)を格納する仮想データベースであり、これを参照することでスキーマに関する情報をSQLで簡単に取得できます。
テーブル数を表示するクエリ
「WEB」データベース内のテーブル数を表示するには、以下のようなクエリを実行します。
mysql> select count(table_name) as TotalNumberOfTablesInWebDatabase
-> from information_schema.tables
-> where table_schema='web';
table_schemaの条件に対象のデータベース名を指定することで、そのデータベースに属するテーブルだけがカウントされます。
実行結果
上記のクエリを実行すると、次のような出力が得られます。
+----------------------------------+
| TotalNumberOfTablesInWebDatabase |
+----------------------------------+
| 1562 |
+----------------------------------+
1 row in set (0.27 sec)
この結果から、「WEB」データベースには1,562個のテーブルが存在することがわかります。
SHOW TABLESコマンドで結果を確認する
上記のクエリで取得した件数が正しいかどうかを確認したい場合は、SHOW TABLESコマンドを使用しましょう。このコマンドを実行すると、指定したデータベース内のすべてのテーブル一覧が表示され、出力の最後にテーブルの総件数が示されます。
以下のように、SHOW TABLESの実行結果の末尾に表示される件数と、先ほどのCOUNT関数による結果が一致していれば、正しくテーブル数を取得できていることになります。

まとめ
- データベース内のテーブル数を取得するには、information_schema.tablesに対してcount(table_name)を実行し、where句でtable_schemaを指定します。
- 結果の妥当性を確認するには、SHOW TABLESコマンドでテーブル一覧と件数を照合するとよいでしょう。
-
MySQLデータベース内のすべてのテーブルを一覧表示する方法
```html ここでは、MySQLデータベース内のすべてのテーブルを一覧表示する方法について解説します。 データベースの選択 データベースを作成した後、そのデータベースにアクセスして使用するには、以下のクエリを実行します。 mysql> USE databaseName Database changed USEステートメントの特徴 USEステートメントはセミコロンを必要としません。これはQUITステートメントと同様の仕様です。ただし、セミコロンを付けても問題はありません。 自分専用のデータベースを作成して使用することも可能ですが、その前にMySQL管理者の権限付与が必要になります。
-
MySQLのデフォルトポート番号は「3306」!基本情報とセキュリティ上の注意点を解説
MySQLがデフォルトで使用するポート番号は3306です。本記事では、3306番ポートの基本的な役割から、公開時のセキュリティリスク、そして安全に運用するための対策までをわかりやすく解説します。 3306番ポートとは? 3306番ポートは、MySQLプロトコルがクライアントや「mysqldump」などのユーティリティと接続する際に使用するポートです。通信方式はTCP(Transmission Control Protocol:伝送制御プロトコル)を採用しており、信頼性の高いデータ転送を実現しています。 なお、3306はあくまで「デフォルト」のポート番号であり、設定変更によって別のポート番号でM