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

MySQL에서 열 값 앞에 문자열 추가하는 방법 (CONCAT 함수 활용법)

MySQL에서 열 값 앞에 문자열을 추가하는 방법

MySQL에서 특정 열(column)의 기존 값 앞에 문자열을 추가하려면 CONCAT 함수를 사용하면 됩니다. CONCAT 함수는 UPDATE 문과 함께 사용하여 테이블의 데이터를 손쉽게 수정할 수 있습니다.

이번 글에서는 예제 테이블을 만들고, 실제로 열 값 앞에 문자열을 붙이는 과정을 단계별로 살펴보겠습니다.

1. 예제 테이블 생성

먼저 테스트용 테이블을 생성합니다.

mysql> create table PrependStringOnCOlumnName
-> (
-> Id int,
-> Name varchar(200)
-> );
Query OK, 0 rows affected (1.35 sec)

2. 샘플 데이터 삽입

테이블에 몇 개의 레코드를 삽입합니다.

mysql> insert into PrependStringOnCOlumnName values(1,'John');
Query OK, 1 row affected (0.12 sec)

mysql> insert into PrependStringOnCOlumnName values(2,'Carol');
Query OK, 1 row affected (0.18 sec)

mysql> insert into PrependStringOnCOlumnName values(3,'Johnson');
Query OK, 1 row affected (0.45 sec)

3. 현재 데이터 확인

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

mysql> select *from PrependStringOnCOlumnName;

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

+------+---------+
| Id | Name |
+------+---------+
| 1 | John |
| 2 | Carol |
| 3 | Johnson |
+------+---------+
3 rows in set (0.00 sec)

4. 문자열 앞에 추가하기 위한 기본 문법

열 값 앞에 문자열을 추가할 때 사용하는 기본 문법은 다음과 같습니다.

UPDATE yourTableName SET yourColumnName = CONCAT(Value, yourColumnName);

여기서 Value 자리에 원하는 문자열을 넣으면, 해당 문자열이 기존 열 값 앞에 연결됩니다.

5. 실제 적용 예시

'Name' 열의 모든 값 앞에 'First'라는 문자열을 추가해 보겠습니다.

mysql> UPDATE PrependStringOnCOlumnName SET Name=CONCAT('First', Name);
Query OK, 3 rows affected (0.13 sec)
Rows matched: 3 Changed: 3 Warnings: 0

6. 결과 확인

업데이트가 정상적으로 적용되었는지 다시 조회해 보겠습니다.

mysql> select *from PrependStringOnCOlumnName;

아래 출력 결과를 보면 문자열이 성공적으로 열 값 앞에 연결된 것을 확인할 수 있습니다.

+------+--------------+
| Id | Name |
+------+--------------+
| 1 | FirstJohn |
| 2 | FirstCarol |
| 3 | FirstJohnson |
+------+--------------+
3 rows in set (0.00 sec)

추가 팁: NULL 값 처리 주의사항

CONCAT 함수는 인수 중 하나라도 NULL이면 결과도 NULL을 반환합니다. 따라서 열에 NULL 값이 포함되어 있을 가능성이 있다면 IFNULL 또는 COALESCE 함수를 함께 사용하는 것이 안전합니다.

UPDATE PrependStringOnCOlumnName SET Name=CONCAT('First', IFNULL(Name, ''));

이렇게 하면 NULL 값이 있는 행도 'First'만 저장되거나 의도한 대로 처리되어, 예기치 않은 데이터 손실을 방지할 수 있습니다.