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

MySQL에서 테이블 이름을 변경하는 방법 (ALTER TABLE & RENAME)

MySQL에서 테이블의 이름을 변경하려면 ALTER 문과 RENAME 절을 함께 사용하면 됩니다. 아래 단계별 예제를 통해 실제로 테이블 이름을 변경하는 과정을 살펴보겠습니다.

1단계: 테이블 생성하기

먼저 CREATE TABLE 명령문을 사용해 테스트용 테이블을 생성합니다.

mysql> CREATE table Employee
   -> (
   -> EmpId int,
   -> EmpName varchar(200)
   -> );
Query OK, 0 rows affected (0.49 sec)

2단계: 테이블 이름 변경 구문 이해하기

테이블 이름을 변경하는 기본 문법은 다음과 같습니다.

ALTER TABLE 기존테이블이름 RENAME TO 새테이블이름;

즉, ALTER TABLE 뒤에 현재 테이블 이름을 적고, RENAME TO 뒤에 새로 지정하고 싶은 테이블 이름을 입력하면 됩니다.

3단계: 테이블 이름 변경 실행하기

위 문법을 활용하여 Employee 테이블의 이름을 EmployeeTable로 변경해 보겠습니다.

mysql> alter table Employee rename to EmployeeTable;
Query OK, 0 rows affected (0.56 sec)

4단계: 변경 결과 확인하기

테이블 이름이 정상적으로 변경되었는지 확인하기 위해 SELECT 문으로 기존 테이블 이름에 조회를 시도해 봅니다.

mysql> SELECT * from Employee;
ERROR 1146 (42S02): Table 'business.employee' doesn't exist

위 쿼리는 에러를 반환합니다. 그 이유는 더 이상 Employee라는 이름의 테이블이 존재하지 않기 때문입니다. 테이블 이름이 이미 EmployeeTable로 변경되었기 때문입니다.

이번에는 변경된 테이블 이름인 EmployeeTable로 동일한 쿼리를 다시 실행해 보겠습니다.

mysql> SELECT * from EmployeeTable;
Empty set (0.00 sec)

이번에는 오류 없이 정상적으로 실행됩니다. 테이블 이름이 Employee에서 EmployeeTable로 성공적으로 변경되었음을 의미합니다. 결과가 비어 있는 것(Empty set)은 테이블에 아직 데이터가 없기 때문입니다.

참고: RENAME TABLE 문 사용하기

ALTER TABLE ... RENAME TO 외에도 MySQL에서는 RENAME TABLE 문을 사용해 테이블 이름을 변경할 수 있습니다.

RENAME TABLE Employee TO EmployeeTable;

RENAME TABLE 문은 여러 테이블의 이름을 한 번에 변경할 수 있다는 장점이 있으며, 두 방식 모두 결과는 동일합니다.