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

MySQL 테이블에서 기존 열 이름 변경하는 방법 – ALTER TABLE CHANGE 문 활용법

MySQL 테이블에서 이미 존재하는 특정 열(column)의 이름을 변경하려면 ALTER 문과 함께 CHANGE 절을 사용하면 됩니다. 이 방법은 열의 이름뿐만 아니라 데이터 타입도 함께 지정해야 한다는 점을 기억해야 합니다.

기본 문법

ALTER TABLE table_name CHANGE old_column_name new_column_name datatype;

각 구성 요소의 의미는 다음과 같습니다.

  • table_name: 열 이름을 변경하려는 테이블의 이름입니다.
  • old_column_name: 현재 사용 중인 기존 열의 이름입니다.
  • new_column_name: 기존 열에 새로 부여할 열의 이름입니다.
  • datatype: 해당 열의 데이터 타입으로, CHANGE 문 사용 시 반드시 명시해야 합니다.

실제 예제

다음 예제에서는 'student_info' 테이블의 'id' 열 이름을 'studentid'로 변경하는 과정을 살펴보겠습니다.

먼저 변경 전 테이블의 상태를 확인합니다.

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
|  101 | YashPal | Amritsar   | History    |
|  105 | Gaurav  | Chandigarh | Literature |
|  130 | Ram     | Jhansi     | Computers  |
|  132 | Shyam   | Chandigarh | Economics  |
|  133 | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
5 rows in set (0.02 sec)

이제 ALTER TABLE 문과 CHANGE 절을 사용하여 'id' 열의 이름을 'studentid'로 변경합니다.

mysql> ALTER TABLE Student_info CHANGE id studentid int;
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0 Warnings: 0

변경 후 다시 테이블을 조회하면 결과를 확인할 수 있습니다.

mysql> Select * from Student_info;
+-----------+---------+------------+------------+
| studentid | Name    | Address    | Subject    |
+-----------+---------+------------+------------+
|       101 | YashPal | Amritsar   | History    |
|       105 | Gaurav  | Chandigarh | Literature |
|       130 | Ram     | Jhansi     | Computers  |
|       132 | Shyam   | Chandigarh | Economics  |
|       133 | Mohan   | Delhi      | Computers  |
+-----------+---------+------------+------------+
5 rows in set (0.00 sec)

위 결과 집합에서 확인할 수 있듯이, 'id'라는 열 이름이 성공적으로 'studentid'로 변경되었습니다.

참고 사항

  • CHANGE 문은 열 이름 변경 시 데이터 타입을 반드시 함께 작성해야 합니다. 기존 타입을 유지하려면 원래 타입을 그대로 입력하면 됩니다.
  • MySQL 8.0 이상 버전에서는 데이터 타입 없이 이름만 변경할 수 있는 RENAME COLUMN 문도 제공됩니다. 예: ALTER TABLE Student_info RENAME COLUMN id TO studentid;