MySQL에서 컬럼의 기본값을 설정하려면 DEFAULT 키워드를 사용해야 합니다. 이번 글에서는 실제 예제를 통해 기본값이 'NONE'으로 지정된 테이블을 만들고, 값이 입력되지 않은 레코드에 자동으로 기본값이 적용되는 과정을 단계별로 살펴보겠습니다.
1. 기본값이 설정된 테이블 생성하기
먼저 ClientCountryName 컬럼에 DEFAULT 'NONE' 옵션을 지정하여 테이블을 생성합니다.
mysql> create table DemoTable
(
ClientCountryName varchar(100) DEFAULT 'NONE'
);
Query OK, 0 rows affected (0.65 sec)위와 같이 테이블을 생성하면, INSERT 시 해당 컬럼에 값을 입력하지 않아도 자동으로 'NONE'이라는 기본값이 저장됩니다.
2. 레코드 삽입하기
이제 INSERT 명령어를 사용해 몇 개의 레코드를 삽입해 보겠습니다. 일부 행에는 의도적으로 값을 입력하지 않았는데, 이 경우 DEFAULT로 설정한 'NONE' 값이 자동으로 들어갑니다.
mysql> insert into DemoTable values('US');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('UK');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values();
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('AUS');
Query OK, 1 row affected (0.16 sec)3. 결과 확인하기
SELECT 문을 사용해 테이블의 모든 레코드를 조회합니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+-------------------+ | ClientCountryName | +-------------------+ | US | | NONE | | UK | | NONE | | AUS | +-------------------+ 5 rows in set (0.00 sec)
정리
출력 결과를 보면, 값을 명시적으로 입력한 행(US, UK, AUS)에는 입력된 값이 그대로 저장되고, 빈 값으로 삽입된 두 번째와 네 번째 행에는 DEFAULT로 지정한 'NONE'이 자동으로 채워진 것을 확인할 수 있습니다.
이처럼 MySQL에서는 컬럼 정의 시 DEFAULT 키워드만 추가하면, 데이터가 누락된 경우에도 원하는 기본값을 손쉽게 유지할 수 있습니다. 이는 데이터 무결성을 확보하고 NULL 처리 로직을 줄이는 데 매우 유용한 방법입니다.