삶 가운데 남긴 기록 AACII.TISTORY.COM
MySQL 테이블 복사 (구조 및 데이터) 본문
원본 테이블 구조(스키마)와 같은 새 테이블 생성
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
'DEV&OPS > Database' 카테고리의 다른 글
MYSQL 최적화 (0) | 2022.08.02 |
---|---|
ORA-28001 오라클 비밀번호 만료 (0) | 2022.07.15 |
MySQL ibtmp1 파일 용량, Gerneral_log 파일 용량 (0) | 2022.04.20 |
관계형 데이터베이스를 정규화해봅시다. (0) | 2022.02.25 |
MYSQL 날짜 비교 (0) | 2021.10.07 |