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

MySQL CHANGE 명령어란? 컬럼 이름 변경 방법과 사용 예제

MySQL의 CHANGE 명령어는 테이블의 컬럼(열) 이름을 변경할 때 사용합니다. ALTER TABLE 문과 함께 쓰이며, 기존 컬럼의 이름뿐만 아니라 데이터 타입까지 한 번에 수정할 수 있다는 점이 특징입니다.

1. 테스트용 테이블 생성하기

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

mysql> create table DemoTable796 (
    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name varchar(100),
    StudentAge int
);
Query OK, 0 rows affected (0.56 sec)

2. 테이블 구조 확인하기

DESC 명령어로 현재 테이블의 구조를 확인해 보겠습니다.

mysql> desc DemoTable796;

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

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| StudentId  | int(11)      | NO   | PRI | NULL    | auto_increment |
| Name       | varchar(100) | YES  |     | NULL    |                |
| StudentAge | int(11)      | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

현재 'Name'이라는 컬럼이 존재하는 것을 확인할 수 있습니다.

3. CHANGE 명령어로 컬럼 이름 변경하기

이제 CHANGE 명령어를 사용하여 'Name' 컬럼을 'StudentName'으로 변경해 보겠습니다. 기본 문법은 다음과 같습니다.

ALTER TABLE 테이블명 CHANGE 기존컬럼명 새컬럼명 데이터타입;

실제 적용 쿼리는 아래와 같습니다.

mysql> alter table DemoTable796 change Name StudentName varchar(100);
Query OK, 0 rows affected (0.29 sec)
Records: 0 Duplicates: 0 Warnings: 0

4. 변경 결과 확인하기

다시 한번 테이블 구조를 조회하여 컬럼 이름이 정상적으로 변경되었는지 확인합니다.

mysql> desc DemoTable796;

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

+-------------+--------------+------+-----+---------+----------------+
| Field       | Type         | Null | Key | Default | Extra          |
+-------------+--------------+------+-----+---------+----------------+
| StudentId   | int(11)      | NO   | PRI | NULL    | auto_increment |
| StudentName | varchar(100) | YES  |     | NULL    |                |
| StudentAge  | int(11)      | YES  |     | NULL    |                |
+-------------+--------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

'Name' 컬럼이 성공적으로 'StudentName'으로 변경된 것을 확인할 수 있습니다.

참고: CHANGE와 RENAME COLUMN의 차이

MySQL 8.0 이상에서는 이름만 변경할 경우 더 간단한 RENAME COLUMN 구문을 사용할 수도 있습니다.

ALTER TABLE DemoTable796 RENAME COLUMN Name TO StudentName;

반면 CHANGE는 컬럼 이름과 데이터 타입을 동시에 변경해야 할 때 유용하며, 모든 MySQL 버전에서 호환됩니다.