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

MySQLで2つの文字列をスペース区切りで連結する方法

MySQLでは、CONCAT()関数を使うことで、複数の文字列を自由に連結できます。引数の間に半角スペース(' ')を挿入すれば、スペース区切りの連結も簡単に実現可能です。

この記事では、実際にテーブルを作成し、2つのカラムの値をスペースで連結して更新する手順を解説します。

1. サンプルテーブルの作成

まず、以下のコマンドでテーブルを作成します。

mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(20),
-> Subject varchar(100)
-> );
Query OK, 0 rows affected (17.73 sec)

2. レコードの挿入

次に、INSERT文を使ってサンプルデータを登録します。

mysql> insert into DemoTable(Name,Subject) values('John','MySQL');
Query OK, 1 row affected (1.19 sec)

mysql> insert into DemoTable(Name,Subject) values('Chris','SQL Server');
Query OK, 1 row affected (0.88 sec)

mysql> insert into DemoTable(Name,Subject) values('Robert','MongoDB');
Query OK, 1 row affected (2.62 sec)

3. 登録データの確認

SELECT文ですべてのレコードを表示してみましょう。

mysql> select *from DemoTable;

出力結果

+----+--------+------------+
| Id | Name | Subject |
+----+--------+------------+
| 1 | John | MySQL |
| 2 | Chris | SQL Server |
| 3 | Robert | MongoDB |
+----+--------+------------+
3 rows in set (0.00 sec)

4. CONCAT()関数でスペース区切り連結を実行

ここからが本題です。NameSubjectの値を、間にスペースを挟んで連結し、Subjectカラムを更新するクエリは以下のとおりです。

mysql> update DemoTable
-> set Subject=concat(Name,' ',Subject);
Query OK, 3 rows affected (0.38 sec)
Rows matched: 3 Changed: 3 Warnings: 0

CONCAT(Name,' ',Subject)のように、連結したい文字列の間にスペースを表す引用符(' ')を挟むだけで、スペース区切りの連結が完了します。

5. 更新後のデータ確認

再度SELECT文を実行して、更新結果を確認しましょう。

mysql> select *from DemoTable;

出力結果

+----+--------+------------------+
| Id | Name | Subject |
+----+--------+------------------+
| 1 | John | John MySQL |
| 2 | Chris | Chris SQL Server |
| 3 | Robert | Robert MongoDB |
+----+--------+------------------+
3 rows in set (0.00 sec)

このように、Subjectカラムには「John MySQL」や「Chris SQL Server」といったように、名前と科目がスペースで連結された値が格納されました。

補足:CONCAT_WS()を使ったよりスマートな方法

3つ以上の文字列を同じ区切り文字で連結する場合は、CONCAT_WS()関数を使うとさらに便利です。第一引数に区切り文字を指定するため、以下のように書けます。

mysql> select concat_ws(' ', Name, Subject) from DemoTable;

この場合、区切り文字は一度指定するだけで済むため、コードがすっきりし、可読性も向上します。

  1. MySQLで単語間のスペースを削除する方法:REPLACE関数の使い方

    MySQLで単語間のスペースを削除するには?MySQLで文字列内の特定のスペースを削除したい場合は、REPLACE()関数を使用します。REPLACE()関数は、指定した文字列を別の文字列に置き換えることができるため、スペースの削除にも活用できます。ここでは、「This is MySQL」のような文字列から「is」の後のスペースを削除する例を通して、具体的な手順を解説します。1. テーブルの作成まず、サンプル用のテーブルを作成します。mysql> create table DemoTable1506  -> (  -> Title text  -> );Query OK

  2. MySQLの1つのUPDATE文で2つの列を同時に更新する方法

    はじめにMySQLでは、1つのUPDATE文の中でSET句を一度だけ使えば、複数の列を同時に更新できます。各列の指定はカンマ(,)で区切って記述します。この記事では、実際にテーブルを作成し、1つのクエリで2つの列(FirstNameとLastName)を更新する手順を解説します。サンプルテーブルの作成まず、以下のようにCREATE TABLE文でテーブルを作成します。mysql> create table DemoTable1909 ( Id int NOT NULL, FirstName varchar(20), LastName varchar(20)