다른 데이터베이스에 테이블을 복사해보자 !

김동헌·2024년 7월 25일

MySQL

목록 보기
4/5
post-thumbnail

ChooseMemain배포 서버와 dev 개발 서버로 진행하고 있습니다.

출시 전 main 배포를 진행하면서
개발 서버에서 진행한 데이터베이스의 테이블 구조와 내용들을
배포 서버의 데이터베이스에 복사하는 과정을 포스팅했습니다.

간단해요


CREATE TABLE 대상DB.테이블 LIKE 원본DB.테이블;

대상DB.테이블 → 새로 생성할 테이블의 이름과 생성할 테이블의 이름
LIKE 원본DB.테이블 → 이미 존재하는 대상 데이터베이스 테이블의 구조(컬럼, 데이터 타입, 인덱스 등)를 복사합니다.

위 쿼리를 실행하면

대상DB에 지정한 테이블이 생성되며,
이 테이블은 원본 데이터베이스의 지정한 테이블과 동일한 구조를 가지게 됩니다.

하지만, 새로 생성된 테이블에는 데이터가 포함되지 않습니다.


데이터를 포함시키고 싶으시다면 아래 과정을 거치시면 됩니다.

INSERT INTO 대상DB.테이블 SELECT * FROM 원본DB.테이블;
대상DB.테이블 → 데이터를 삽입할 대상 테이블
* → 원본 데이터베이스의 모든 컬럼을 선택
FROM 원본DB.테이블 → 데이터를 가져올 테이블을 지정

이 쿼리를 실행하면

원본 데이터베이스의 지정한 테이블에 있는 모든 행이 대상 데이터베이스의 지정한 테이블에 복사됩니다.

이 과정을 통해 두 테이블은 동일한 데이터를 가지게 됩니다.

요약하면

  • 첫 번째 쿼리는 테이블 구조를 복사하고,
  • 두 번째 쿼리는 데이터를 복사합니다.

두 쿼리를 함께 사용하면,
새로운 데이터베이스에 동일한 테이블과 데이터를 생성할 수 있습니다.

profile
백엔드 기록 공간😁

0개의 댓글