MySQL

MySQL - 테이블 복사 및 데이터 추가

jiyoon12 2025. 5. 15. 17:44

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

  • 테이블의 구조만을 새로운 테이블로 복사하고자 할 때, 데이터는 복사하지 않고 구조만 생성한다.
  • 아래 쿼리는 기존 테이블의 모든 컬럼을 선택하지만, WHERE 1=0 조건 때문에 어떠한 데이터도 가져오지 않는다.
  • 결과적으로 컬럼 구조만 복제된 새 테이블이 생성되는 걸 볼 수 있다.
-- 1. 테이블 구조만 복사하는 방법(컬럼)
create table 새_테이블
as select * from 기존_테이블 where 1 = 0;

select * from accounts;

create table new_accounts
as select * from accounts where 1 = 0;

-- 테이블 복사 확인
select * from new_accounts;

 

 

 

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

  • 테이블의 구조와 함께 데이터도 새로운 테이블로 복사하려면 다음 쿼리를 사용한다.
  • 제약 조건(기본키, 외래키, 인덱스, 트리거 등)은 복사되지 않기때문에  필요 시 수동으로 추가해야 한다.
-- 테이블 구조와(컬럼) 데이터 모두 복사 방법
create table 새_테이블
as select * from 기존_테이블;

create table new_accounts_2
as select * from accounts;

select * from new_accounts_2;