Study/DB

[MySQL] RENAME TABLE 테이블 이름 변경

 

RENAME이란?

RENAME 명령어는 MySQL에서 테이블의 이름을 변경하는 데 사용되는 명령어입니다.

이 명령어를 사용하면 테이블 이름을 손쉽게 바꿀 수 있으며, 여러 테이블의 이름을 한 번에 변경하거나, 테이블을 다른 데이터베이스로 이동할 수도 있습니다.

 

MySQL RENAME TABLE 명령어 공식문서 바로가기

 

MySQL :: MySQL 8.4 Reference Manual :: 15.1.36 RENAME TABLE Statement

15.1.36 RENAME TABLE Statement RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE renames one or more tables. You must have ALTER and DROP privileges for the original table, and CREATE and INSERT privileges for the new t

dev.mysql.com

 

 

RENAME 명령어 기본 구조

테이블의 이름을 변경하기 위한 RENAME TABLE 명령어의 기본 구조는 다음과 같습니다.

RENAME TABLE <기존 테이블명> TO <새로운 테이블명>

RENAME TABLE 사용 결과
RENAME TABLE 사용 결과

 

RENAME TABLE 구문은 ALTER TABLE RENAME 구문과 동일한 기능을 수행합니다.

ALTER TABLE <기존 테이블명> RENAME <새로운 테이블명>

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 <데이터베이스명>.<테이블명>

RENAME TABLE 데이터베이스 옮기기 결과
RENAME TABLE 데이터베이스 옮기기 결과

 

예제

다음은 db1 데이터베이스의 table1을 db2 데이터베이스로 이동하면서 이름을 new_table1로 변경하는 예제입니다.

RENAME TABLE db1.table1 TO db2.new_table1;

 

명령어를 실행하면 기존 데이터베이스에 있었던 테이블은 없어집니다.

RENAME TABLE의 테이블 이동 기능은 리눅스의 mv 명령어와 비슷한 기능을 수행합니다.

이동과 동시에 테이블 이름을 변경할 수 있습니다.

 

참고로, RENAME TABLE 명령어를 사용하면 테이블의 모든 인덱스, 제약 조건 및 데이터를 포함한 테이블 전체가 새로운 이름으로 변경되거나 새로운 데이터베이스로 이동됩니다.

 

또한 RENAME TABLE을 사용하여 테이블을 다른 데이터베이스로 이동할 경우, 테이블의 모든 권한도 새 위치로 이동합니다.

 

 

 

 

읽으면 좋은 글

[MySQL] CREATE DATABASE 데이터베이스 생성하기

 

[MySQL] CREATE DATABASE 데이터베이스 생성하기

MySQL에서 데이터베이스를 생성하는 방법에 대해 설명드리겠습니다. 기본 구조CREATE [DATABASE | SCHEMA] [IF NOT EXISTS] 기본적으로 사용되는 데이터 베이스 생성 명령어의 구조입니다.DATABASE 대신 SCHEMA

priming.tistory.com

[MySQL] CREATE TABLE 테이블 생성하기

 

[MySQL] CREATE TABLE 테이블 생성하기

MySQL에서 테이블을 생성하는 방법을 예제와 함께 설명드리겠습니다.MySQL Workbench에서 진행하였습니다. 기본 구조CREATE TABLE의 간단한 구조는 다음과 같습니다.CREATE TABLE ( , , ...)CREATE TABLE을 사용하

priming.tistory.com