MySQLの結果にテーブル一覧を表示する際のエイリアス(AS)の使い方
MySQLの結果にテーブル名を表示するエイリアスとは?
MySQLでは、ASコマンドを使ってエイリアス(別名)を定義することで、結果セットの列見出しを任意の名前に変更できます。データベース内のテーブル一覧を取得する際、デフォルトの「TABLE_NAME」という列名を見やすい名前に置き換えたい場合に非常に便利です。
基本構文
エイリアスを使用する基本的な構文は以下のとおりです。
SELECT TABLE_NAME AS anyAliasName FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
構文のポイント
- INFORMATION_SCHEMA.TABLES:MySQLに標準搭載されている情報スキーマで、データベース内のすべてのテーブル情報を管理しています。
- DATABASE():現在接続中のデータベース名を返す関数です。これにより、使用中のデータベースに存在するテーブルだけが抽出されます。
- AS anyAliasName:列名「TABLE_NAME」を任意の別名に変更します。なお、「AS」は省略して書くことも可能です。
実行例
それでは、実際に上記の構文を実装してみましょう。
mysql> SELECT TABLE_NAME AS MY_TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE();
このクエリを実行すると、次のような出力が得られます(以下は一部抜粋)。
+------------------------------------+ | MY_TABLE_NAME | +------------------------------------+ | a | | accumulateddemo | | add10minutedemo | | add1toexistingvalue | | addanumbertocurrentvaluedemo | | addcolumnandindexdemo | | addingcurrentyeardemo | | addprefixtocolumndemo | | addtoexistingvaluedemo | | addtotaltimedemo | | addwhereclausedemo | | aggregatefunctiondemo | | allfiles | | auto_incrementdemo | | averagedemo | | booleandemo | | calculateaveragedemo | | casefunctiondemo | | countrowsdemo | | datedifferencedemo | | deletedemo | | findandreplacedemo | | selfjoindemo | | selectdistinctdemo | | storedproceduredemo | | student_information | | sumdemo | | userinformation | | viewtabledemo | | wheredemo | | wildcarddemo | | yesterdayrecordsdemo | | yourtable | +------------------------------------+ 408 rows in set (0.02 sec)
ご覧のとおり、通常は「TABLE_NAME」と表示される列見出しが、エイリアスとして指定した「MY_TABLE_NAME」に変更されて表示されます。この例では、現在のデータベースに存在する408件のテーブル一覧が取得できました。
まとめ
ASキーワードによるエイリアスを活用すれば、INFORMATION_SCHEMAから取得したテーブル一覧の列名を自由にカスタマイズできます。レポート作成やアプリケーション開発の際に、より読みやすい結果表示を実現したいときは、ぜひこの方法を試してみてください。
-
MySQLのユーザー定義変数の値を結果テーブルに表示する方法
MySQLでは、@を使ってユーザー定義変数を宣言し、concat_ws()関数と組み合わせることで、文字列を連結した結果をそのまま結果テーブルに表示できます。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1508 -> ( -> StudentFirstName varchar(20), -> StudentLastName varchar(20) -> ); Query OK, 0 rows affected (0.55 sec)続いて、insertコマンドを使ってテーブルに
-
MySQLでデータベース内のテーブル数を表示するクエリの書き方
INFORMATION_SCHEMA.TABLESを使ってテーブル数を取得するここでは例として、「WEB」というデータベースを使用しているものとします。このデータベース内に存在するテーブルの総数を調べたい場合、MySQLではINFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(データベース名、テーブル名、カラム情報など)を格納する仮想データベースであり、これを参照することでスキーマに関する情報をSQLで簡単に取得できます。テーブル数を表示するクエリ「WEB」データベース内のテーブル数を表示す