MySQL에서 테이블 이름 변경하기
MySQL에서 기존 테이블의 이름을 변경하려면 RENAME TABLE 명령어를 사용하면 됩니다. 데이터는 그대로 유지된 채 테이블 이름만 바뀌기 때문에 매우 안전하고 빠른 방법입니다.
기본 문법
RENAME TABLE 이전_테이블명 TO 새_테이블명;
1단계: 예제 테이블 생성
먼저 실습에 사용할 테이블을 생성해 보겠습니다.
mysql> create table DemoTable1
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
UserName varchar(100),
UserAge int,
UserCountryName varchar(100)
);
Query OK, 0 rows affected (1.29 sec)2단계: 테이블 구조 확인
DESC 명령어를 사용해 생성된 테이블의 구조를 확인합니다.
mysql> desc DemoTable1;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+-----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(100) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | UserCountryName | varchar(100) | YES | | NULL | | +-----------------+--------------+------+-----+---------+----------------+ 4 rows in set (0.20 sec)
3단계: RENAME TABLE로 테이블 이름 변경
이제 RENAME TABLE 명령어를 사용해 DemoTable1의 이름을 DemoTable2로 변경해 보겠습니다.
mysql> rename table DemoTable1 to DemoTable2; Query OK, 0 rows affected (1.22 sec)
4단계: 변경 결과 확인
이름이 정상적으로 변경되었는지 새 테이블의 구조를 다시 한번 확인합니다.
mysql> desc DemoTable2;
실행 결과는 다음과 같습니다.
+-----------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | UserName | varchar(100) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | UserCountryName | varchar(100) | YES | | NULL | | +-----------------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec)
컬럼 구조와 데이터가 모두 그대로 유지된 것을 확인할 수 있습니다.
알아두면 좋은 추가 정보
- 여러 테이블 동시 변경: RENAME TABLE 명령어 하나로 여러 테이블의 이름을 한 번에 변경할 수 있습니다. 예:
RENAME TABLE t1 TO t2, t3 TO t4; - 대체 방법:
ALTER TABLE 이전_테이블명 RENAME TO 새_테이블명;구문으로도 동일한 작업이 가능합니다. - 주의 사항: 테이블 이름을 변경하기 위해서는 해당 테이블에 대한 ALTER 및 DROP 권한이 필요합니다. 또한 이름 변경 후 해당 테이블을 참조하던 뷰(View), 저장 프로시저(Stored Procedure), 외래 키(Foreign Key) 등은 자동으로 갱신되지 않으므로 반드시 확인해야 합니다.