RENAME이란?
RENAME 명령어는 MySQL에서 테이블의 이름을 변경하는 데 사용되는 명령어입니다.
이 명령어를 사용하면 테이블 이름을 손쉽게 바꿀 수 있으며, 여러 테이블의 이름을 한 번에 변경하거나, 테이블을 다른 데이터베이스로 이동할 수도 있습니다.
MySQL RENAME TABLE 명령어 공식문서 바로가기
RENAME 명령어 기본 구조
테이블의 이름을 변경하기 위한 RENAME TABLE 명령어의 기본 구조는 다음과 같습니다.
RENAME TABLE <기존 테이블명> TO <새로운 테이블명>
RENAME TABLE 구문은 ALTER TABLE RENAME 구문과 동일한 기능을 수행합니다.
ALTER TABLE <기존 테이블명> RENAME <새로운 테이블명>
RENAME 명령어를 사용했을 때처럼 동일하게 테이블 이름 변경 동작을 수행합니다.
RENAME 예제
기존 테이블 old_table의 이름을 new_table로 변경하는 예제입니다.
RENAME TABLE old_table TO new_table;
또는 다음과 같이 사용합니다.
ALTER TABLE old_table RENAME new_table;
RENAME 명령어로 여러 테이블 이름 변경 방법
여러 테이블의 이름을 한 번에 변경할 수도 있습니다.
이때 각 테이블 이름 변경을 콤마(,)로 구분하여 나열합니다.
RENAME TABLE
<기존 테이블명1> TO <새로운 테이블명1>,
<기존 테이블명2> TO <새로운 테이블명2> ...
예제
다음은 table1, table2, table3의 이름을 각각 new_table1, new_table2, new_table3으로 변경하는 예제입니다.
RENAME TABLE
table1 TO new_table1,
table2 TO new_table2,
table3 TO new_table3;
RENAME 명령어로 다른 데이터베이스로 옮기기
RENAME 명령어를 사용하여 테이블을 다른 데이터베이스로 이동할 수 있습니다. 이 경우 새로운 데이터베이스명과 테이블명을 함께 지정합니다.
RENAME TABLE <데이터베이스명>.<테이블명> TO <데이터베이스명>.<테이블명>
예제
다음은 db1 데이터베이스의 table1을 db2 데이터베이스로 이동하면서 이름을 new_table1로 변경하는 예제입니다.
RENAME TABLE db1.table1 TO db2.new_table1;
명령어를 실행하면 기존 데이터베이스에 있었던 테이블은 없어집니다.
RENAME TABLE의 테이블 이동 기능은 리눅스의 mv 명령어와 비슷한 기능을 수행합니다.
이동과 동시에 테이블 이름을 변경할 수 있습니다.
참고로, RENAME TABLE 명령어를 사용하면 테이블의 모든 인덱스, 제약 조건 및 데이터를 포함한 테이블 전체가 새로운 이름으로 변경되거나 새로운 데이터베이스로 이동됩니다.
또한 RENAME TABLE을 사용하여 테이블을 다른 데이터베이스로 이동할 경우, 테이블의 모든 권한도 새 위치로 이동합니다.
읽으면 좋은 글
[MySQL] CREATE DATABASE 데이터베이스 생성하기