MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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から取得したテーブル一覧の列名を自由にカスタマイズできます。レポート作成やアプリケーション開発の際に、より読みやすい結果表示を実現したいときは、ぜひこの方法を試してみてください。

  1. MySQLのユーザー定義変数の値を結果テーブルに表示する方法

    MySQLでは、@を使ってユーザー定義変数を宣言し、concat_ws()関数と組み合わせることで、文字列を連結した結果をそのまま結果テーブルに表示できます。まず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable1508 -> ( -> StudentFirstName varchar(20), -> StudentLastName varchar(20) -> ); Query OK, 0 rows affected (0.55 sec)続いて、insertコマンドを使ってテーブルに

  2. MySQLでデータベース内のテーブル数を表示するクエリの書き方

    INFORMATION_SCHEMA.TABLESを使ってテーブル数を取得するここでは例として、「WEB」というデータベースを使用しているものとします。このデータベース内に存在するテーブルの総数を調べたい場合、MySQLではINFORMATION_SCHEMA.TABLESを利用するのが便利です。INFORMATION_SCHEMAは、MySQLサーバーが管理しているメタデータ(データベース名、テーブル名、カラム情報など)を格納する仮想データベースであり、これを参照することでスキーマに関する情報をSQLで簡単に取得できます。テーブル数を表示するクエリ「WEB」データベース内のテーブル数を表示す