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

MySQL ALTER 문에서 ADD와 CHANGE를 함께 사용하는 방법

MySQL에서는 ALTER 문 하나에 ADDCHANGE를 동시에 사용할 수 있습니다. 이를 통해 새로운 컬럼을 추가하면서 기존 컬럼의 이름이나 데이터 타입을 변경할 수 있습니다.

1. 테스트용 테이블 생성

먼저 예제로 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    -> (
    -> Name varchar(100),
    -> Age int
    -> );
Query OK, 0 rows affected (0.84 sec)

2. 테이블 구조 확인

DESC 명령어로 테이블 구조를 확인합니다.

mysql> desc DemoTable;

출력 결과

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

현재 테이블에는 NameAge 두 개의 컬럼만 존재합니다.

3. ALTER 문으로 ADD와 CHANGE 함께 사용하기

이제 하나의 ALTER 문을 사용해 다음 작업을 한 번에 수행해 보겠습니다.

  • ADD: 자동 증가 기본 키 컬럼 Id 추가
  • ADD ... AFTER: Age 컬럼 뒤에 CountryName 컬럼 추가
  • CHANGE: Name 컬럼의 이름을 FirstName으로 변경하고 타입도 varchar(200)으로 수정
mysql> alter table DemoTable
-> add column Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> add column CountryName varchar(100) after Age,
-> change column Name FirstName varchar(200);
Query OK, 0 rows affected (1.51 sec)
Records: 0  Duplicates: 0  Warnings: 0

4. 변경된 테이블 구조 확인

변경 후 테이블 구조를 다시 확인합니다.

mysql> desc DemoTable;

출력 결과

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| FirstName   | varchar(200) | YES  |     | NULL    |                |
| Age         | int(11)      | YES  |     | NULL    |                |
| CountryName | varchar(100) | YES  |     | NULL    |                |
| Id          | int(11)      | NO   | PRI | NULL    | auto_increment |
+-------------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)

정리

위 결과에서 볼 수 있듯이, 하나의 ALTER 문 안에서 여러 작업을 쉼표(,)로 구분하여 실행할 수 있습니다.

  • ADD COLUMN은 새로운 컬럼을 추가하며, AFTER 절을 사용하면 특정 컬럼 뒤에 위치시킬 수 있습니다.
  • CHANGE COLUMN은 기존 컬럼의 이름과 데이터 타입을 동시에 변경할 수 있습니다.
  • AUTO_INCREMENT PRIMARY KEY 옵션을 함께 지정하면 자동 증가 기본 키 컬럼도 손쉽게 추가할 수 있습니다.

이처럼 MySQL의 ALTER 문은 테이블 구조를 유연하게 변경할 수 있는 강력한 도구입니다.