Recent Posts
Recent Comments
Link
12-04 00:16
Today
Total
관리 메뉴

삶 가운데 남긴 기록 AACII.TISTORY.COM

MySQL 테이블 복사 (구조 및 데이터) 본문

DEV&OPS/Database

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

ALEPH.GEM 2022. 5. 13. 16:08

원본 테이블 구조(스키마)와 같은 새 테이블 생성

CREATE TABLE IF NOT EXISTS 타겟DB.복사테이블 LIKE 원본DB.원본테이블;

원본 테이블에 Primary Key 또는 auto_increment가 설정되어 있으면 복사할 수 없습니다.

 

원본 테이블 구조(스키마)와 같은 새 테이블을 생성 후 데이터도 함께 복사

CREATE TABLE IF NOT EXISTS 타겟DB.복사테이블 SELECT * FROM 원본DB.원본테이블;

원본 테이블에 Primary Key 또는 auto_increment가 설정되어 있으면 복사할 수 없습니다.

 

테이블을 생성했던 CREATE 쿼리 보기

SHOW CREATE TABLE 원본DB.테이블이름;

Primary Key나 auto_increment 등 제약사항도 복사하고 싶다면 create 쿼리를 복사하여 해당 쿼리를 이용하여 테이블을 생성 한 뒤 insert select 문으로 데이터를 복사해야 합니다.

 

이미 같은 구조(스키마)의 테이블이 존재하는 경우 데이터 부분 복사

INSERT INTO 타겟DB.복사테이블(컬럼1, 컬럼2, ...) SELECT 컬럼1, 컬럼2, ... FROM 원본DB.원본테이블

복사 될 테이블에 primary key 또는 auto_increment가 설정되어 있는 경우 중복된 데이터가 있으면 오류가 발생합니다.

 

콘솔 접속이 가능한 경우 mysqldump 이용 복사

테이블 덤프(테이블을 sql 파일로 변환)

mysqldump -u mysql계정 -p 데이터베이스이름 테이블이름 > 덤프파일이름.sql

덤프된 sql파일을 복원

mysql -u 사용자계정 -p 데이터베이스이름 < 덤프파일이름.sql

 

 

728x90