전화번호에 국가 코드를 설정한다는 것은 기존 번호 앞에 코드를 연결(Concatenate)하는 작업을 의미합니다. MySQL에서는 CONCAT() 함수를 사용하면 간단하게 처리할 수 있습니다.
1. 테이블 생성
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable769 (MobileNumber varchar(100)); Query OK, 0 rows affected (0.54 sec)
2. 데이터 삽입
INSERT 명령을 사용하여 테이블에 전화번호 데이터를 입력합니다.
mysql> insert into DemoTable769 values('8799432434');
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable769 values('9899996778');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable769 values('7890908989');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable769 values('9090898987');
Query OK, 1 row affected (0.20 sec)3. 현재 데이터 확인
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable769;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+--------------+ | MobileNumber | +--------------+ | 8799432434 | | 9899996778 | | 7890908989 | | 9090898987 | +--------------+ 4 rows in set (0.00 sec)
4. UPDATE와 CONCAT()로 국가 코드 추가
다음은 UPDATE 문과 CONCAT() 함수를 함께 사용하여 전화번호 컬럼 값 앞에 국가 코드(+91)를 붙이는 쿼리입니다.
mysql> update DemoTable769
set MobileNumber=concat('+91',MobileNumber);
Query OK, 4 rows affected (0.20 sec)
Rows matched: 4 Changed: 4 Warnings: 05. 변경 결과 확인
업데이트가 정상적으로 적용되었는지 다시 조회하여 확인해 보겠습니다.
mysql> select *from DemoTable769;
실행 결과, 모든 전화번호 앞에 국가 코드가 성공적으로 추가된 것을 확인할 수 있습니다.
+---------------+ | MobileNumber | +---------------+ | +918799432434 | | +919899996778 | | +917890908989 | | +919090898987 | +---------------+ 4 rows in set (0.00 sec)
참고 사항
국가 코드를 저장할 때는 varchar 타입을 사용하는 것이 좋습니다. '+91'처럼 '+' 기호가 포함되기 때문에 숫자형(INT) 컬럼에는 저장할 수 없습니다. 또한 실무에서는 WHERE 조건을 추가하여 특정 조건의 레코드만 업데이트하거나, 이미 국가 코드가 붙어 있는 중복 데이터가 없는지 사전에 점검하는 것이 안전합니다.