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句による対象行の指定を忘れると全レコードが更新されてしまうため、実行前には必ず条件を見直してください。
-
JavaでMySQLデータベースのデータを削除する方法|DELETE文の使い方を徹底解説
MySQLデータベースからデータを削除するには、DELETEコマンドを使用します。まずは基本となる構文を確認しておきましょう。 DELETE文の基本構文 delete from テーブル名 where 条件; WHERE句で条件を指定すると、該当するレコードだけをピンポイントで削除できます。逆に条件を指定しなかった場合、テーブル内の全データが削除されてしまうため、実行前には必ず条件を確認してください。 本記事では、JavaプログラムからMySQLデータベースのデータを削除する具体的な手順を解説します。はじめにサンプル用のテーブルを作成し、テストデータを挿入していきましょう。 サンプルテーブルの
-
JavaでMySQLデータベースにデータを挿入する方法をわかりやすく解説
JavaからMySQLデータベースにデータを挿入するには、SQLのINSERTコマンドを使用します。基本的な構文は以下の通りです。 INSERT INTO テーブル名(カラム名1, カラム名2, ......カラム名N) VALUES(値1, 値2, ......値N); ここからは、Javaプログラムを使って実際にMySQLデータベースへレコードを挿入する手順を、順を追って見ていきましょう。 ステップ1:MySQLでテーブルを作成する まず、データの挿入先となるテーブルをMySQL側に作成します。以下のクエリを実行してください。 mysql> create table Insert