-
[MySQL] 테이블 구조와 데이터 복사 (Table Structure and Data Copy)데이터베이스/MySQL 2019. 1. 29. 14:58
▶MySQL 테이블 구조와 데이터 복사 (Table Structure and Data Copy)
▶설명
현재 생성된 테이블을 복사하는 방법에 대해서 정리하도록 하겠습니다.
이 글에서는 총 4가지를 설명하도록 하겠습니다.
- 테이블에 구조만 복사하여 테이블 생성
- 테이블에 구조와 데이터를 복사하여 테이블 생성
- 테이블에 데이터만 복사하여 입력
- 테이블 생성 쿼리
[참고]
- [MySQL] SHOW 명령어 : https://extbrain.tistory.com/59
▶사용법
테이블 구조 복사
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 명령어에 대한 작성한 글에서도 정리했지만,
비슷한 분류끼리 작성을 위에 추가했습니다.
'데이터베이스 > MySQL' 카테고리의 다른 글
[MySQL] 범주 조회 (DISTINCT) (0) 2019.01.19 [MySQL] 시프트 연산자 (Shift Operator) (0) 2018.11.16 [MySQL] 현재 MySQL 버전 확인 (0) 2018.11.02 [MySQL] 쿼리 로그 확인 (1) 2018.11.02 [MySQL] 테이블, 컬럼 코멘트(Comment) 조회 (1) 2018.11.02