Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 기존 필드에 데이터 추가하는 방법 – CONCAT() 함수 완벽 가이드

MySQL에서 이미 데이터가 저장되어 있는 필드에 새로운 값을 덧붙이고(append) 싶을 때가 있습니다. 이럴 때는 MySQL의 내장 함수인 CONCAT()을 사용하면 간단하게 해결할 수 있습니다.

CONCAT() 함수를 이용한 데이터 추가 문법

기본적인 UPDATE 문법은 다음과 같습니다.

UPDATE yourTableName
SET yourColumnName = CONCAT(yourColumnName, '추가할값');

CONCAT() 함수는 여러 문자열을 하나로 연결해 주는 역할을 합니다. 위 쿼리는 기존 컬럼 값 뒤에 지정한 문자열을 그대로 붙여 넣습니다.

실습 예제: 테이블 생성

개념을 확실히 이해하기 위해 실제 테이블을 만들어 보겠습니다.

mysql> CREATE TABLE AppendingDataDemo
-> (
-> FirstNameAndLastName VARCHAR(200)
-> );
Query OK, 0 rows affected (0.59 sec)

샘플 데이터 삽입

INSERT 명령어로 몇 개의 레코드를 추가합니다.

mysql> INSERT INTO AppendingDataDemo VALUES('John');
Query OK, 1 row affected (0.27 sec)

mysql> INSERT INTO AppendingDataDemo VALUES('Bob');
Query OK, 1 row affected (0.20 sec)

mysql> INSERT INTO AppendingDataDemo VALUES('Carol');
Query OK, 1 row affected (0.30 sec)

현재 데이터 확인

SELECT 문으로 저장된 모든 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM AppendingDataDemo;

실행 결과는 다음과 같습니다.

+----------------------+
| FirstNameAndLastName |
+----------------------+
| John |
| Bob |
| Carol |
+----------------------+
3 rows in set (0.00 sec)

기존 값 뒤에 'Taylor' 추가하기

이제 컬럼에 이미 들어 있는 이름 뒤에 성(Taylor)을 덧붙여 보겠습니다. 아래와 같이 UPDATE 문과 CONCAT() 함수를 함께 사용하면 됩니다.

mysql> UPDATE AppendingDataDemo
SET FirstNameAndLastName = CONCAT(FirstNameAndLastName, ' Taylor');
Query OK, 3 rows affected (0.10 sec)
Rows matched: 3 Changed: 3 Warnings: 0

결과 메시지를 보면 3개 행이 모두 정상적으로 변경된 것을 확인할 수 있습니다.

변경 결과 확인

다시 SELECT 문으로 데이터가 제대로 추가되었는지 확인해 보겠습니다.

mysql> SELECT * FROM AppendingDataDemo;

실행 결과:

+----------------------+
| FirstNameAndLastName |
+----------------------+
| John Taylor |
| Bob Taylor |
| Carol Taylor |
+----------------------+
3 rows in set (0.00 sec)

추가 팁: NULL 값 처리하기

CONCAT() 함수는 인수 중 하나라도 NULL이면 전체 결과가 NULL이 되므로 주의해야 합니다. 컬럼에 NULL 값이 포함될 가능성이 있다면 CONCAT_WS()IFNULL() 함수를 함께 사용하는 것이 안전합니다.

UPDATE AppendingDataDemo
SET FirstNameAndLastName = CONCAT(IFNULL(FirstNameAndLastName, ''), ' Taylor');

이렇게 하면 기존 값이 NULL인 경우에도 빈 문자열로 처리되어 오류 없이 데이터를 추가할 수 있습니다.