IT 정보

SQL 테이블 구조 복사와 데이터 함께 복제하는 방법

jerry99 2024. 10. 24. 11:37

1. 소개

데이터베이스에서 동일한 구조를 가진 새로운 테이블을 만들면서, 기존 테이블의 데이터를 함께 복사해야 할 때가 있습니다. 이런 작업은 데이터베이스의 백업, 테스트용 테이블 생성, 혹은 데이터 마이그레이션 과정에서 유용합니다.

 

2. 테이블 구조만 복사하기

테이블의 구조만 동일하게 복사하고 싶을 때는 다음과 같은 SQL 문을 사용합니다:

CREATE TABLE 새로운_테이블명 LIKE 기존_테이블명;

이 명령어는 기존 테이블의 구조(컬럼, 인덱스 등)를 그대로 복사합니다. 하지만 데이터는 복사되지 않습니다.

 

3. 테이블 구조와 데이터 함께 복사하기

만약 테이블의 구조와 데이터를 모두 복사하고 싶다면, 다음과 같은 SQL 문을 사용하면 됩니다:

CREATE TABLE 새로운_테이블명 LIKE 기존_테이블명;
INSERT INTO 새로운_테이블명 SELECT * FROM 기존_테이블명;

 

 

  • 첫 번째 줄에서는 새로운 테이블을 생성합니다. 이 테이블은 기존 테이블의 구조를 그대로 복사합니다.
  • 두 번째 줄에서는 기존 테이블의 데이터를 새로운 테이블로 복사합니다.

 

4. 특정 조건에 맞는 데이터만 복사하기

만약 특정 조건에 맞는 데이터만 복사하고 싶다면, SELECT 문에 WHERE 절을 추가할 수 있습니다:

 

INSERT INTO 새로운_테이블명 SELECT * FROM 기존_테이블명 WHERE 조건;

 

 

예를 들어, age 컬럼이 30 이상인 데이터만 복사하려면:

INSERT INTO 새로운_테이블명 SELECT * FROM 기존_테이블명 WHERE age >= 30;

 

5. 복사 후 데이터 확인

복사가 완료되면, 데이터가 올바르게 복사되었는지 확인하기 위해 SELECT 문을 사용해 데이터를 조회해볼 수 있습니다:

 

SELECT * FROM 새로운_테이블명;

 

이 방법을 사용하면 테이블의 구조를 그대로 복사하면서, 원하는 데이터를 손쉽게 복제할 수 있습니다. 특히, 테스트 테이블 생성이나 데이터 백업 시 매우 유용하게 사용할 수 있습니다.