본문으로 바로가기

테이블 복사 및 데이터 추가

category MySQL 2024. 6. 12. 17:00

데이터베이스에서 한 테이블의 구조나 데이터를 다른 테이블로 복사하는 작업은 여러 상황에서 유용하게 사용됩니다. 테이블의 구조만을 복사하거나, 구조와 데이터 모두를 복사할 수 있습니다

 

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

테이블의 구조만을 새로운 테이블로 복사하고자 할 때, 데이터는 복사하지 않고 구조만 생성합니다.

 

use employees;

-- 테이블 복사 (구조만 복사)
create table dept_emp_copy
as select * from dept_emp
where 1 = 0;

이 쿼리는 기존 테이블의 모든 컬럼을 선택하지만, WHERE 1=0 조건 때문에 어떠한 데이터도 가져오지 않습니다. 결과적으로 컬럼 구조만 복제된 새 테이블이 생성됩니다.

 

 

2. 테이블 구조와 데이터 모두 복사하기

-- 테이블 복사 (전체 컬럼까지)
create table employees_copy
as select * from employees;

 

 

주의사항

기본키, 외래키, 인덱스 등의 제약사항은 복사되지 않을 수 있습니다. 따라서, 이러한 제약사항을 수동으로 추가해야 할 필요가 있습니다.

 

INSERT INTO SELECT 문 사용하여 복제테이블에 값 넣기

insert into dept_emp_copy(emp_no, dept_no, from_date, to_date)
select emp_no + 1, dept_no, from_date, to_date
		from dept_emp
        where emp_no > 50001;

'MySQL' 카테고리의 다른 글

Groub By 와 having 절  (2) 2024.09.02
MySQL Function  (2) 2024.06.12
MySQL JOIN  (2) 2024.06.12
관계 차수란?  (0) 2024.06.07
movie 테이블 설계 후 검증  (0) 2024.06.07