CTAS와 WHERE 조건절
CTAS(Create Table As Select) 스크립트를 사용하면 기존 테이블의 데이터와 구조를 그대로 복사하여 새 테이블을 만들 수 있습니다. 여기에 WHERE 절을 함께 사용하면 특정 조건에 맞는 행만 선택적으로 복사할 수 있습니다.
WHERE 절 사용 예제
mysql> Create table EMP_BACKUP2 AS SELECT * from EMPLOYEE WHERE id = 300 AND Name = 'Mohan'; Query OK, 1 row affected (0.14 sec) Records: 1 Duplicates: 0 Warnings: 0 mysql> Select * from EMP_BACKUP2; +------+-------+ | Id | Name | +------+-------+ | 300 | Mohan | +------+-------+ 1 row in set (0.00 sec)
위 예제에서는 EMPLOYEE 테이블에서 id = 300이고 Name = 'Mohan'인 행만 추출하여 EMP_BACKUP2라는 새 테이블을 생성했습니다. MySQL은 지정된 조건을 만족하는 한 개의 행만 포함하는 테이블을 만들어 줍니다.
추가 활용 팁
WHERE 절의 조건을 자유롭게 변경하면 원하는 데이터만 골라서 백업 테이블을 만들 수 있습니다. 예를 들어 WHERE 1 = 0처럼 항상 거짓이 되는 조건을 사용하면 데이터는 제외하고 테이블 구조(스키마)만 복사하는 것도 가능합니다. 이러한 방식은 대용량 테이블에서 필요한 부분만 백업하거나 테스트용 테이블을 빠르게 만들 때 매우 유용합니다.