본문 바로가기

MySQL(MariaDB)

MySQL 테이블 구조 복사 및 데이터 복사 ( Table Copy )

 

 

* 구조 복사

Create Table new_table like old_table

  특징 : 기존 테이블의 설정 그대로 복사 된다.

    참고 ==> 큐브리드의 경우 복사하고자 하는 기존 테이블에 'Primary Key' 또는 'auto_increment' 가 설정 되어 있으면 복사 할 수 없음.

    응용 ==> Create Table IF NOT EXISTS new_table like old_table (new_table 이 없으면 복사)

 

* 구조와 데이터 복사

Create Table new_table ( select * from old_table )

  특징 : 테이블의 구조와 함께 데이터도 함께 복사가 된다.

     주의 ==> 큐브리드의 경우와 같이 기존 테이블에 'Primary Key' 또는 'auto_increment' 가 설정 되어 있으면

       해당 설정은 적용 되지 않고 값만 복사 됨.

 

* 데이터 복사

Insert Into destination_table ( select * from source_table)

  참고 ==> 대상 테이블의 컬럼 중에 자동 증가 값 설정 이 된 컬럼이 있을 경우 해당 컬럼에 데이터 입력시 중복된 데이터가 있으면 오류 발생.

  응용 ==> Insert Into destination_table (column_a, column_b) (select a, b from source_table) 원하는 필드의 데이터만 복사가 가능하다.

 

출처 : https://m.blog.naver.com/kilsu1024/110162891049