データベース内の全テーブルのフィールド(カラム)総数を取得する方法
データベース内の全テーブルのフィールド総数を取得する方法
データベースに存在するすべてのテーブルのフィールド(カラム)の総数を確認したい場合は、INFORMATION_SCHEMA.COLUMNS テーブルと集計関数 COUNT(*) を組み合わせることで簡単に実現できます。
ここでは、多数のテーブルとフィールドを含む「sample」データベースを例に説明します。データベース全体のフィールド総数を取得するクエリは以下の通りです。
mysql> SELECT COUNT(*) AS TOTAL_NUMBER_OF_FIELDS
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'sample';
このクエリを実行すると、次のような結果が得られます。
+------------------------+
| TOTAL_NUMBER_OF_FIELDS |
+------------------------+
| 796 |
+------------------------+
1 row in set (0.04 sec)
この結果から、「sample」データベースには合計 796 個のフィールドが存在することがわかります。
続いて、別のデータベース「test」に対して同じクエリを実行してみましょう。
mysql> SELECT COUNT(*) AS TOTAL_NUMBER_OF_FIELDS
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'test';
実行結果は以下のようになります。
+------------------------+
| TOTAL_NUMBER_OF_FIELDS |
+------------------------+
| 1108 |
+------------------------+
1 row in set (0.03 sec)
このように、「test」データベースのフィールド総数は 1108 個であることが確認できました。
補足:特定のテーブルだけのフィールド数を調べる
データベース全体ではなく、特定のテーブルのみのカラム数を知りたい場合は、WHERE 句に TABLE_NAME の条件を追加します。
SELECT COUNT(*) AS TOTAL_NUMBER_OF_FIELDS
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'sample'
AND TABLE_NAME = '対象テーブル名';
また、DESCRIBE テーブル名; や SHOW COLUMNS FROM テーブル名; を使えば、個別のテーブル構造を直接確認することも可能です。INFORMATION_SCHEMA を活用すると、データベース全体の統計情報を SQL だけで柔軟に取得できるため、大規模なデータベースの管理や調査において非常に便利です。
-
データベースとは?基本の仕組みと活用例をわかりやすく解説
Microsoft Excelなどのスプレッドシートに慣れている方なら、表形式でデータを扱うイメージはすでに掴めているはずです。実はデータベースも同じように「テーブル(表)」を使って、情報の保存・管理・検索を行います。 実は、あなたも毎日データベースを使っている 意識することは少ないかもしれませんが、私たちは日常生活の中で常にデータベースの恩恵を受けています。たとえば、オンラインバンキングにログインするときを考えてみましょう。銀行のシステムはまずユーザー名とパスワードを照合して本人確認を行い、その後口座残高や取引履歴を表示します。この裏側では、データベースがログイン情報を評価してアカウントへの
-
MySQLでデータベース内のテーブル数を表示するクエリの書き方
INFORMATION_SCHEMA.TABLESを使ってテーブル数を取得するここでは例として、「WEB」というデータベースを使用しているものとします。このデータベース内に存在するテーブルの総数を調べたい場合、MySQLではINFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(データベース名、テーブル名、カラム情報など)を格納する仮想データベースであり、これを参照することでスキーマに関する情報をSQLで簡単に取得できます。テーブル数を表示するクエリ「WEB」データベース内のテーブル数を表示す