MySQLデータベース内のテーブル数とカラム数を正確に取得する方法
MySQLデータベースに含まれるテーブル数とカラム(列)数を正確に把握したい場合は、COUNT()関数の中でDISTINCTを使用するのが効果的です。
INFORMATION_SCHEMA.COLUMNSとは
INFORMATION_SCHEMA.COLUMNSは、MySQLサーバーが管理するすべてのデータベースのカラム情報を格納しているシステムビューです。このビューを参照することで、SQLクエリだけでスキーマ全体の構成を集計できます。
実行手順
ここでは、「sample」というデータベースを例に、テーブル数とカラム数の合計を取得してみましょう。実行するクエリは以下のとおりです。
mysql> SELECT COUNT(DISTINCT TABLE_NAME) AS TotalTable, COUNT(Column_Name) AS TOTALColumn
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE TABLE_SCHEMA = 'sample';
このクエリのポイントは以下の通りです。
COUNT(DISTINCT TABLE_NAME):同じテーブル名が複数回出現しても1つとして数えるため、テーブル数を正確に取得できます。COUNT(Column_Name):NULL以外のカラム行をすべてカウントし、総カラム数を求めます。WHERE TABLE_SCHEMA = 'sample':対象を「sample」データベースに限定します。
実行結果
上記のクエリを実行すると、「sample」データベース内のテーブル数とカラム数が次のように表示されます。
+------------+-------------+
| TotalTable | TOTALColumn |
+------------+-------------+
| 123 | 287 |
+------------+-------------+
1 row in set (0.02 sec)
この結果から、「sample」データベースには123個のテーブルと、合計287個のカラムが存在することがわかります。
まとめ
INFORMATION_SCHEMA.COLUMNSを活用すれば、複雑なスクリプトを書かずとも1つのSQLクエリだけでデータベースの規模を簡単に把握できます。大規模なデータベースの管理やドキュメント作成時の調査などにぜひ活用してください。
-
phpMyAdminでMySQLデータベースのDECIMAL型に精度(桁数)とスケールを指定する方法
テーブル作成の準備:データベースを選択するMySQLでテーブルを作成する際には、まず対象となるデータベースを選択する必要があります。ここでは、あらかじめ用意したサンプルデータベースを使用して手順を説明します。テーブル名とカラム数の指定次に、作成するテーブルの名前と、必要なカラム数を入力します。入力が完了したら、「実行(Go)」ボタンをクリックしてください。すると、各カラムの詳細を定義できる画面が表示されます。DECIMAL型の構文についてDECIMAL型には2つのパラメータを指定します。1つ目は全体の桁数(精度)、2つ目は小数点以下の桁数(スケール)です。DECIMAL型の基本構文は以下のとお
-
JavaでMySQLテーブルのカラム数を取得・カウントする方法
MySQLテーブルのカラム(列)数をJavaで取得するには、ResultSetMetaDataインターフェースを使用します。ResultSetMetaDataを活用すれば、カラムの総数だけでなく、各カラムの名前やデータ型といった詳細情報も簡単に取得できます。前提:サンプルテーブルの作成まずは動作確認用のテーブルを作成しましょう。以下のSQLでは、3つのカラムを持つ「DemoTable」を作成しています。mysql> create table DemoTable -> ( -> St