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

MySQL 테이블에 열(컬럼) 추가하는 방법 – ALTER TABLE 사용법 완벽 정리

MySQL에서 테이블에 새로운 열(컬럼)을 추가하려면 ALTER 명령어와 ADD COLUMN 절을 함께 사용합니다. 이 글에서는 먼저 Id와 Name 두 개의 열을 가진 테이블을 생성한 뒤, ALTER 명령어를 이용해 Age와 Address 열을 추가하는 전체 과정을 단계별로 살펴보겠습니다.

1단계: 테이블 생성하기

먼저 다음 쿼리를 실행하여 테이블을 생성합니다.

mysql> create table AddingColumnNameDemo
   -> (
   -> Id int,
   -> Name varchar(100)
   -> );
Query OK, 0 rows affected (0.65 sec)

2단계: 테이블 구조 확인하기

DESC 명령어를 사용하면 테이블의 구조를 손쉽게 확인할 수 있습니다.

mysql> desc AddingColumnNameDemo;

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

+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| Id    | int(11)      | YES  |     | NULL    |       |
| Name  | varchar(100) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
2 rows in set (0.00 sec)

위 출력 결과에서 확인할 수 있듯이, 현재 테이블에는 IdName 두 개의 열만 존재합니다.

3단계: ALTER TABLE로 열 추가하기

ALTER 명령어를 사용해 하나 이상의 열을 한 번에 추가하는 기본 문법은 다음과 같습니다.

alter table yourTableName
add column yourColumnName1 dataType,
add column yourColumnName2 dataType,
.
.
add column yourColumnNameN dataType;

실제 적용 예시

위 문법을 실제 쿼리에 적용하면 테이블에 여러 개의 열을 동시에 추가할 수 있습니다.

mysql> alter table AddingColumnNameDemo
   -> add column Age int,
   -> add column Address varchar(300);
Query OK, 0 rows affected (0.53 sec)
Records: 0  Duplicates: 0  Warnings: 0

AgeAddress 두 개의 열이 성공적으로 추가되었습니다. 이제 DESC 명령어로 변경된 테이블 구조를 다시 확인해 보겠습니다.

mysql> DESC AddingColumnNameDemo;

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

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| Id      | int(11)      | YES  |     | NULL    |       |
| Name    | varchar(100) | YES  |     | NULL    |       |
| Age     | int(11)      | YES  |     | NULL    |       |
| Address | varchar(300) | YES  |     | NULL    |       |
+---------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

테이블에 원래 있던 2개의 열에 Age와 Address가 추가되어 총 4개의 열로 늘어난 것을 확인할 수 있습니다.

참고: 특정 위치에 열 추가하기

기본적으로 새로 추가된 열은 테이블의 맨 마지막에 배치됩니다. 만약 특정 위치에 열을 삽입하고 싶다면 FIRST 또는 AFTER 키워드를 활용할 수 있습니다.

alter table AddingColumnNameDemo
add column Email varchar(100) after Name;

위 쿼리는 Name 열 바로 뒤에 Email 열을 추가합니다. 반면 FIRST 키워드를 사용하면 테이블의 첫 번째 위치에 열이 삽입됩니다. 이처럼 ALTER TABLE 명령어를 활용하면 기존 데이터를 유지한 상태에서 테이블 구조를 유연하게 변경할 수 있습니다.