MySQL에서 ALTER TABLE로 열 추가하기
MySQL에서 기존 테이블에 새로운 열(column)을 추가하려면 ALTER TABLE 문을 사용합니다. 아래는 열을 추가하는 기본 문법입니다.
ALTER TABLE 테이블명 ADD COLUMN 컬럼명 데이터타입 DEFAULT 기본값;
1. 테스트용 테이블 생성
먼저 예제에 사용할 테이블을 생성해 보겠습니다.
mysql> create table alterTableDemo
-> (
-> Id int,
-> Name varchar(10)
-> );
Query OK, 0 rows affected (0.69 sec)2. DESC 명령으로 테이블 구조 확인
DESC 명령어를 사용하면 테이블의 필드(Field), 타입(Type), 키(Key) 등의 구조를 확인할 수 있습니다.
mysql> desc alterTableDemo;
실행 결과는 다음과 같습니다.
+-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(10) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.01 sec)
3. ALTER TABLE로 Age 열 추가 및 기본값 지정
이제 기본값이 18인 Age 열을 추가해 보겠습니다. 사용자가 Age 값을 입력하지 않으면 MySQL은 자동으로 기본값인 18을 사용합니다.
mysql> alter table alterTableDemo add column Age int default 18; Query OK, 0 rows affected (0.67 sec) Records: 0 Duplicates: 0 Warnings: 0
테이블 구조를 다시 한번 확인해 보겠습니다.
mysql> desc alterTableDemo;
Age 열이 추가되었고 Default 값이 18로 설정된 것을 확인할 수 있습니다.
+-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | Id | int(11) | YES | | NULL | | | Name | varchar(10) | YES | | NULL | | | Age | int(11) | YES | | 18 | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
4. INSERT로 데이터 삽입하기
INSERT 명령을 사용하여 테이블에 레코드를 삽입해 보겠습니다.
mysql> insert into alterTableDemo(Id,Name,Age) values(100,'Chris',24); Query OK, 1 row affected (0.16 sec) mysql> insert into alterTableDemo(Id,Name) values(101,'Robert'); Query OK, 1 row affected (0.25 sec)
5. SELECT로 전체 데이터 조회
SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.
mysql> select *from alterTableDemo;
실행 결과는 다음과 같습니다. 'Robert'의 경우 나이(Age) 값을 입력하지 않았기 때문에 기본값인 18이 자동으로 저장된 것을 확인할 수 있습니다.
+------+--------+------+ | Id | Name | Age | +------+--------+------+ | 100 | Chris | 24 | | 101 | Robert | 18 | +------+--------+------+ 2 rows in set (0.00 sec)
정리
MySQL에서는 ALTER TABLE ... ADD COLUMN 문법을 통해 기존 테이블에 손쉽게 새로운 열을 추가할 수 있으며, DEFAULT 옵션을 함께 사용하면 값이 입력되지 않았을 때 자동으로 적용될 기본값을 지정할 수 있습니다. 이는 데이터 일관성을 유지하는 데 매우 유용한 기능입니다.