본문 바로가기
MySQL

[MySQL] 테이블 structure 복사, 데이터 복사

by 찬찬2 2021. 2. 26.

테이블 구조 복사

CREATE TABLE IF NOT EXISTS `복사 테이블` LIKE `원본 테이블`;

원본 테이블 구조를 복사하여 복사 테이블로 만듭니다.

IF NOT EXISTS를 통해 이미 테이블이 존재하면 복사하지 않습니다.

 

※ IF NOT EXISTS 없이 사용해도 문제 없습니다.

 

테이블 구조와 데이터 복사

CREATE TABLE IF NOT EXISTS `복사 테이블` SELECT * FROM `원본 테이블`;

원본 테이블 구조와 데이터를를 복사하여 복사 테이블을 생성하고 데이터도 저장합니다.

마찬가지로 IF NOT EXISTS를 통해 이미 테이블이 존재하면 복사하지 않습니다.

 

※ 기본키(Primary Key)와 인덱스(Index), Auto Increment는 제외하고 복사합니다!!!

 

테이블 데이터 복사

INSERT INTO `복사 테이블` SELECT * FROM `원본 테이블`;

데이터 복사라고 하지만 단순히 INSERT SELECT문을 사용하면 됩니다.

 

테이블 데이터 부분 복사

INSERT INTO `복사 테이블` (컬럼1 [, 컬럼2 ...]) SELECT 컬럼1 [, 컬럼2 ...] FROM `원본 테이블`;

INSERT SELECT 할 때, 특정 컬럼만 지정할 수도 있습니다.

 

테이블 생성 쿼리 가져오기

SHOW CREATE TABLE `테이블`;

해당 쿼리를 통해 테이블을 생성하는데 필요한 쿼리를 알 수 있습니다.

 

기존에 SHOW 명령어에 대한 작성한 글에서도 정리했지만,

비슷한 분류끼리 작성을 위에 추가했습니다.

출처: https://extbrain.tistory.com/116 [확장형 뇌 저장소]

댓글