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

MySQL ALTER 문으로 테이블에 열(컬럼)을 추가하는 방법과 기본값 설정하기

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 옵션을 함께 사용하면 값이 입력되지 않았을 때 자동으로 적용될 기본값을 지정할 수 있습니다. 이는 데이터 일관성을 유지하는 데 매우 유용한 기능입니다.