MySQLでSELECT *を使いながら列に別名(エイリアス)を付ける方法
MySQLでは、SELECT *ですべての列を取得しながら、特定の列に別名(エイリアス)を付けて同時に表示することができます。この記事では、実際のサンプルコードと実行結果をもとに、その手順をわかりやすく解説します。
サンプルテーブルの作成
まず、デモ用のテーブルを作成しましょう。
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20), Age int ); Query OK, 0 rows affected (1.15 sec)
レコードの挿入
INSERTコマンドを使って、テーブルにデータを追加していきます。
mysql> insert into DemoTable(Name,Age) values('John',21);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(Name,Age) values('Carol',24);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Name,Age) values('David',22);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Name,Age) values('Sam',23);
Query OK, 1 row affected (0.23 sec)
すべてのレコードを表示する
SELECT文でテーブル内の全レコードを確認してみましょう。
mysql> select * from DemoTable;
実行結果は以下の通りです。
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 21 | | 2 | Carol | 24 | | 3 | David | 22 | | 4 | Sam | 23 | +----+-------+------+ 4 rows in set (0.00 sec)
SELECT *と列の別名を組み合わせる
SELECT *を使いつつ、特定の列に別名を付けて表示するには、テーブル自体にエイリアスを付けた上で、ASキーワードを利用します。以下がそのクエリです。
mysql> select tbl.*,Name AS StudentName from DemoTable tbl;
実行すると、Name列の内容が「StudentName」という別名でも出力されます。
+----+-------+------+-------------+ | Id | Name | Age | StudentName | +----+-------+------+-------------+ | 1 | John | 21 | John | | 2 | Carol | 24 | Carol | | 3 | David | 22 | David | | 4 | Sam | 23 | Sam | +----+-------+------+-------------+ 4 rows in set (0.00 sec)
クエリのポイント
この書き方のポイントは次の3点です。
tbl.*:テーブルに付けたエイリアス「tbl」に対して全列を選択しています。Name AS StudentName:Name列を「StudentName」という別名で追加表示しています。- 元のName列もそのまま残るため、同じ値が異なる2つの列名で出力されます。
なお、MySQLではASキーワードは省略可能で、Name StudentNameのように記述することもできます。また、別名を二重引用符で囲めば、スペースを含む列名を指定することも可能です。レポート出力やビュー定義など、表示名を変えたい場面でぜひ活用してください。
-
JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説
ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ
-
MySQLで特定のカラム名を持つテーブルを検索する方法
MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a