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

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のように記述することもできます。また、別名を二重引用符で囲めば、スペースを含む列名を指定することも可能です。レポート出力やビュー定義など、表示名を変えたい場面でぜひ活用してください。

  1. JavaでResultSetから列名を取得する方法!MySQLを使ったgetMetaData()の実装例を解説

    ResultSetから列名を取得するには?getMetaData()メソッドの基本JavaでJDBCを使ってデータベース操作を行っていると、「検索結果(ResultSet)に含まれる列名(カラム名)を動的に知りたい」という場面によく出会います。そんなときに活躍するのが、getMetaData()メソッドです。このメソッドを呼び出すと、結果セットの構造情報(列の数や名前、型など)を持つResultSetMetaDataオブジェクトを取得できます。プロトタイプ宣言は以下のとおりです。ResultSetMetaData getMetaData() throws SQLException;サンプル用テ

  2. MySQLで特定のカラム名を持つテーブルを検索する方法

    MySQLで特定のカラム名(列名)を持つテーブルを探したい場合は、システムビューである information_schema.columns を利用します。このビューにはデータベース内のすべてのテーブルとカラムの情報が格納されているため、条件を指定して検索するだけで、目的のカラムを持つテーブルを簡単に特定できます。 基本構文 カラム名からテーブル名を検索する際の基本的な構文は以下の通りです。 select distinct table_name from information_schema.columns where column_name like %yourSearchValue% a