MySQLで複数のカラムを1つの新しいカラムに連結する方法
MySQLでは、CONCAT()関数を使うことで、テーブル内の複数のカラム(列)の値を簡単に連結し、1つの新しいカラムとして取得できます。ここでは、サンプルテーブルの作成からデータの挿入、実際にカラムを連結するクエリの実行までの手順を順番に解説します。
1. サンプルテーブルの作成
まず、CREATE TABLE文を使用してテーブルを作成します。
mysql> create table DemoTable1396
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(40),
-> Age int
-> );
Query OK, 0 rows affected (0.93 sec)2. レコードの挿入
INSERT文を使って、テーブルにいくつかのレコードを挿入します。
mysql> insert into DemoTable1396(Name,Age) values('Chris',21);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1396(Name,Age) values('David',24);
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable1396(Name,Age) values('Bob',26);
Query OK, 1 row affected (0.40 sec)3. テーブルの内容を確認
SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。
mysql> select * from DemoTable1396;
実行すると、次のような結果が出力されます。
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Chris | 21 | | 2 | David | 24 | | 3 | Bob | 26 | +----+-------+------+ 3 rows in set (0.00 sec)
4. CONCAT()関数でカラムを連結する
すべてのカラムを連結して1つの新しいカラムとして表示するには、CONCAT()関数を使用します。AS句で別名を付けることで、結果を見やすくすることも可能です。
mysql> select Id,Name,Age, concat(Id,Name,Age) as AllColumns from DemoTable1396;
実行結果は以下の通りです。
+----+-------+------+------------+ | Id | Name | Age | AllColumns | +----+-------+------+------------+ | 1 | Chris | 21 | 1Chris21 | | 2 | David | 24 | 2David24 | | 3 | Bob | 26 | 3Bob26 | +----+-------+------+------------+ 3 rows in set (0.00 sec)
まとめ
このように、MySQLのCONCAT()関数を使えば、Id・Name・Ageといった複数のカラムの値を簡単に連結し、「AllColumns」のような新しいカラムとして一度に取得できます。なお、対象のカラムにNULL値が含まれる可能性がある場合は、CONCAT_WS()関数やIFNULL()関数と組み合わせることで、より安全かつ柔軟に連結処理を行うことができます。
-
MySQLのLIKE句で行を抽出し、マッチした文字列を新しい列として表示する方法
MySQLでLIKE句を使って特定の文字列を含む行を抽出し、さらにそのマッチした文字列自体を新しい列として表示したい場合があります。このような処理には、SUBSTRING()関数とLOCATE()関数を組み合わせて使用します。ここでは、実際にサンプルテーブルを作成しながら手順を確認していきましょう。1. サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable1872 ( Name varchar(20) ); Query OK, 0 rows affected (0.00 sec)2. レコードの挿
-
MySQLクエリで列名にエイリアス(別名)を設定する方法
MySQLでは、SELECT文を使って列名に「エイリアス(別名)」を設定できます。エイリアスを利用すると、出力結果の見出しをわかりやすい名前に変更でき、レポート作成やアプリケーションでのデータ表示が格段に読みやすくなります。列名にエイリアスを設定する基本構文SELECT yourColumnName1 anyAliasName1, yourColumnName2 anyAliasName2FROM yourTableName anyAliasName;このように、列名の後にスペースを空けて任意の別名を記述するだけで、その列の表示名がエイリアスに置き換わります。テーブル名にも同様にエイリアスを設