• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 1. 데이터 정의 문
    1. ALTER DATABASE 구문
    2. ALTER EVENT 구문
    3. ALTER LOGFILE GROUP 구문
    4. ALTER FUNCTION 구문
    5. ALTER PROCEDURE 구문
    6. ALTER SERVER 구문
    7. ALTER TABLE 구문
    8. ALTER TABLESPACE 구문
    9. ALTER VIEW 구문
    10. REATE DATABASE 구문
    11. CREATE EVENT 구문
    12. CREATE FUNCTION 구문
    13. CREATE INDEX 구문
    14. CREATE LOGFILE GROUP 구문
    15. CREATE PROCEDURE 및 CREATE FUNCTION 구문
    16. CREATE SERVER 구문
    17. CREATE TABLE 구문
    18. CREATE TABLESPACE 구문
    19. CREATE TRIGGER 구문
    20. CREATE VIEW 구문
    21. DROP DATABASE 구문
    22. DROP EVENT 구문
    23. DROP FUNCTION 구문
    24. DROP INDEX 구문
    25. DROP LOGFILE GROUP 구문
    26. DROP PROCEDURE 및 DROP FUNCTION 구문
    27. DROP SERVER 구문
    28. DROP TABLE 구문
    29. DROP TABLESPACE 구문
    30. DROP TRIGGER 구문
    31. DROP VIEW 구문
    32. RENAME TABLE 구문
    33. TRUNCATE TABLE 구문
    2. 데이터 조작 문
    3. MySQL 트랜잭션과 잠금 문
    4. 복제 문
    5. Prepared Statements위한 SQL 구문
    6. MySQL 복합문 구문
    7. 데이터베이스 관리 문
    8. MySQL 유틸리티 문
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

13.1.32 RENAME TABLE 구문

 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2 ] ... 

이 문은 하나 이상의 테이블의 이름을 변경합니다.

이름 변경 작업은 원자 적으로 실행됩니다. 즉, 이름 바꾸기가 실행되는 동안 다른 세션은 어느 테이블에 액세스 할 수 없습니다. 예를 들어 기존 테이블 old_table 가 존재하는 경우는 다음과 같이 동일한 구조를 가지고 있지만 비어있는 다른 테이블 new_table 을 생성하고 기존의 테이블을 그 빈 테이블에 대체 할 수 하다합니다 ( backup_table 는 아직 존재하지 않는 것으로 가정합니다).

 CREATE TABLE new_table (...);
 RENAME TABLE old_table TO backup_table, new_table TO old_table;

이 문에서 여러 테이블의 이름을 변경하는 경우, 이름 변경 작업은 왼쪽에서 오른쪽으로 실행됩니다. 두 테이블 이름을 스왑하려면 다음과 같이 실행할 수 있습니다 ( tmp_table 는 아직 존재하지 않는 것으로 가정합니다).

 RENAME TABLE old_table TO tmp_table,
              new_table TO old_table,
              tmp_table TO new_table;

두 데이터베이스가 동일한 파일 시스템에 존재하는 한, RENAME TABLE 을 사용하여 데이터베이스에서 다른 데이터베이스에 테이블을 이동할 수 있습니다.

 RENAME TABLE current_db.tbl_name TO other_db.tbl_name;

RENAME TABLE 을 사용하여 다른 데이터베이스로 이동 된 테이블과 연관된 트리거가 존재하는 경우 문이 오류 Trigger in wrong schema에 실패합니다.

뷰의 이름을 변경하여 다른 데이터베이스로 이동하려고하지 않는 한, RENAME TABLE 은보기에도 작동합니다.

이름 변경된 테이블 또는 뷰 전용으로 부여 된 권한은 모두 새 이름은 마이그레이션되지 않습니다. 그들은 수동으로 변경해야합니다.

RENAME 을 실행하려면 잠긴 테이블과 활성 트랜잭션이 존재해서는 없습니다. 또한 원래의 테이블에 대한 ALTER 및 DROP 권한과 새 테이블에 대한 CREATE 및 INSERT 권한도 필요합니다.

여러 테이블의 이름 변경에서 어떠한 에러가 발생했을 경우, MySQL은 모두 원래 상태로 되돌리기 위해 이름 변경 된 모든 테이블에 대해 역방향 이름 변경을 수행합니다.

RENAME 을 사용하여 TEMPORARY 테이블의 이름을 변경할 수 없습니다. 그러나 대신 ALTER TABLE 을 사용할 수 있습니다.

 mysql> ALTER TABLE orig_name RENAME new_name;

이 이름 변경 작업을 통해 테이블​​이 다른 파일 시스템에있는 데이터베이스로 이동되는 경우, 결과의 성공은 플랫폼 고유하며 테이블 파일을 이동하는 데 사용되는 기본 운영 시스템 호출에 의존합니다 .

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved