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

MySQLで既存データに文字列を追加する方法|CONCAT関数の使い方を解説

MySQLで既存のデータに新しい値を追加するには?

MySQLでは、既存のカラムの値に新しい文字列を追記したい場合、CONCAT()関数を使うのが最も簡単な方法です。CONCAT()は複数の文字列を連結して1つの文字列として返す関数で、UPDATE文と組み合わせることで、既存データの末尾(または先頭)に任意の文字列を追加できます。

ここでは、実際にテーブルを作成し、既存の名前データに「Smith」という姓を連結する手順を順番に見ていきましょう。

1. テーブルを作成する

まず、サンプル用のテーブルを作成します。

mysql> create table DemoTable
    (
    UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName varchar(100)
    );
Query OK, 0 rows affected (0.43 sec)

UserIdを主キー(AUTO_INCREMENT)とし、UserNameにユーザー名を格納するシンプルな構成です。

2. レコードを挿入する

次に、INSERT文を使ってテーブルにレコードを登録します。

mysql> insert into DemoTable(UserName) values('John');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable(UserName) values('Chris');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(UserName) values('Robert');
Query OK, 1 row affected (0.11 sec)

3. 登録されたレコードを確認する

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

mysql> select *from DemoTable;

実行結果は以下の通りです。

+--------+----------+
| UserId | UserName |
+--------+----------+
| 1 | John |
| 2 | Chris |
| 3 | Robert |
+--------+----------+
3 rows in set (0.00 sec)

4. CONCAT()関数で既存データに文字列を追加する

いよいよ本題です。UserIdが1のレコードに対して、既存の名前「John」の後ろに「 Smith」を連結して更新します。

mysql> update DemoTable
set UserName=concat(UserName,' Smith') where UserId=1;
Query OK, 1 row affected (0.12 sec)
Rows matched: 1 Changed: 1 Warnings: 0

ポイントは concat(UserName,' Smith') の部分です。現在のUserNameの値と、半角スペース+「Smith」を連結した結果でカラムを上書きしています。WHERE句で対象レコードを絞ることを忘れないようにしましょう。

5. 更新後のデータを確認する

もう一度SELECT文を実行して、更新結果を確認します。

mysql> select *from DemoTable;

実行結果:

+--------+------------+
| UserId | UserName |
+--------+------------+
| 1 | John Smith |
| 2 | Chris |
| 3 | Robert |
+--------+------------+
3 rows in set (0.00 sec)

UserId 1のUserNameが「John」から「John Smith」に変わっていることが確認できました。

まとめ

MySQLで既存のデータに文字列を追加する場合は、UPDATE文とCONCAT()関数を組み合わせます。

  • 末尾に追加する場合concat(カラム名, '追加する文字列')
  • 先頭に追加する場合concat('追加する文字列', カラム名)

また、NULLが含まれる可能性があるカラムには、CONCAT_WS()IFNULL()を併用すると安全に処理できます。WHERE句による対象行の指定を忘れると全レコードが更新されてしまうため、実行前には必ず条件を見直してください。

  1. JavaでMySQLデータベースのデータを削除する方法|DELETE文の使い方を徹底解説

    MySQLデータベースからデータを削除するには、DELETEコマンドを使用します。まずは基本となる構文を確認しておきましょう。 DELETE文の基本構文 delete from テーブル名 where 条件; WHERE句で条件を指定すると、該当するレコードだけをピンポイントで削除できます。逆に条件を指定しなかった場合、テーブル内の全データが削除されてしまうため、実行前には必ず条件を確認してください。 本記事では、JavaプログラムからMySQLデータベースのデータを削除する具体的な手順を解説します。はじめにサンプル用のテーブルを作成し、テストデータを挿入していきましょう。 サンプルテーブルの

  2. JavaでMySQLデータベースにデータを挿入する方法をわかりやすく解説

    JavaからMySQLデータベースにデータを挿入するには、SQLのINSERTコマンドを使用します。基本的な構文は以下の通りです。 INSERT INTO テーブル名(カラム名1, カラム名2, ......カラム名N) VALUES(値1, 値2, ......値N); ここからは、Javaプログラムを使って実際にMySQLデータベースへレコードを挿入する手順を、順を追って見ていきましょう。 ステップ1:MySQLでテーブルを作成する まず、データの挿入先となるテーブルをMySQL側に作成します。以下のクエリを実行してください。 mysql> create table Insert