본문 바로가기
MySql

MySQL 여러 .sql 테이블 덤프 파일을 단일 파일로 병합

by 베이스 공부 2020. 12. 27.
반응형

데이터베이스 A와 테이블 b가 있다고 가정합니다. 여러 개의 .sql 파일 b1, b2, ..., bn이 주어지면 각각 b의 상호 배타적 인 테이블 덤프에 해당합니다. 모든 파일 b1, b2, ..., bn을 단일 .sql 테이블 파일로 결합하는 방법은 무엇입니까? ? 또는 개별 파일 가져 오기를 단일 테이블로 결합하는 방법은 무엇입니까?

 

해결 방법

 

이를위한 특별한 도구는 없습니다. 간단히 파일을 연결할 수 있습니다.

$ cat b1.sql b2.sql b3.sql > b_all.sql

이러한 .sql 파일의 일반적인 내용은 DROP TABLE, CREATE TABLE, 많은 INSERT 문입니다. 각 개별 덤프 파일이 이와 같이 포맷 된 경우 순서대로 복원하면 각각 DROP TABLE이 수행되고 이전 파일에서 가져온 데이터가 지워집니다.

DROP / CREATE 문없이 덤프 파일을 만들 수 있습니다.

$ mysqldump --no-create-info <database> <table> ...

그러나 덤프 파일이 이미 있고 (다시 덤프 할 수 없음) 첫 번째 파일을 제외한 모든 파일에서 DROP / CREATE 문을 제거하려는 경우 :

$ ( cat b1.sql ; cat b2.sql b3.sql | sed -e '/^DROP TABLE/,/^-- Dumping data/d' ) > b_all.sql

 

참조 페이지 https://stackoverflow.com/questions/17582660

 

 

반응형

댓글