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

MySQL 기존 테이블에서 조건에 맞는 데이터만 복사하는 방법

CTAS와 WHERE 절로 조건부 데이터 복사하기

MySQL에서 CTAS(Create Table As Select) 스크립트를 사용하면 기존 테이블의 구조와 데이터를 그대로 복사할 수 있습니다. 하지만 모든 데이터가 아닌 특정 조건에 맞는 데이터만 복사하고 싶다면, CTAS 스크립트에 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 절에 AND, OR 같은 논리 연산자를 조합하면 여러 조건을 동시에 지정할 수 있으며, 이를 통해 원하는 데이터만 선별적으로 백업 테이블에 복사할 수 있습니다. 대량의 데이터 중 일부만 백업하거나 분석용 테이블을 만들 때 매우 유용한 방법입니다.