ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MySQL] 테이블 구조와 데이터 복사 (Table Structure and Data Copy)
    데이터베이스/MySQL 2019. 1. 29. 14:58

    ▶MySQL 테이블 구조와 데이터 복사 (Table Structure and Data Copy)




    ▶설명


    현재 생성된 테이블을 복사하는 방법에 대해서 정리하도록 하겠습니다.

    이 글에서는 총 4가지를 설명하도록 하겠습니다.


    1. 테이블에 구조만 복사하여 테이블 생성
    2. 테이블에 구조와 데이터를 복사하여 테이블 생성
    3. 테이블에 데이터만 복사하여 입력
    4. 테이블 생성 쿼리


    [참고]


    ▶사용법



    테이블 구조 복사

    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 명령어에 대한 작성한 글에서도 정리했지만,

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


    댓글

Designed by Tistory.