본문 바로가기

Programming/DBMS

[DBeaver]쿼리 실행 결과를 Table에 import하기

안녕하세요. 잇킹 시도르입니다. 

업무를 하면서 신규로 생성한 테이블에 데이터를 import 하는 경우가 많을 겁니다. 

저는 디비버에서 테이블에 import 하는 데이터를 아래와 같이 크게 3가지로 나누었습니다.

- CSV

- DB 데이터

- 쿼리 실행 결과

 

3가지 중 CSV와 DB 데이터는 결국 같은 방식으로 import 하게 되므로 결국 2가지 형태로 나뉜다고 보면 되겠네요.

 

참고로 저는 테이블에서 import 하는 것보다 원천 데이터에서 직접 export 하는 것이 더 편했습니다.

그래서 MariaDB의 sidorl 스키마로 각 데이터를 export하는 방법으로 이번 글을 작성하겠습니다.

 

순서는 다음과 같으며, 쿼리 실행 결과 import는 해당 제목으로 검색하시면 찾기 편하실 듯합니다.

1. CSV와 DB Data export

2. 쿼리 실행 결과를 export

 

1. CSV와 DB Data export

1. 좌측 내비게이션 메뉴에서 export 하려는 대상 csv를 우클릭해줍니다.

 

내비게이션 메뉴를 보면 결국 CSV이나 일반 DB 테이블의 데이터를 export 하는 방법은 같습니다. CSV도 일종의 DB화 시켜서 해당 기능을 이용하기 때문입니다.

 

CSV를 DB화 시키는 건 해당 링크를 참조해주세요.

https://sidorl.tistory.com/22?category=857385

 

[DBeaver]CSV를 DB처럼!

안녕하세요. 잇킹 시도르입니다. 오늘은 전에 소개한 DBeaver의 유용한 기능 하나를 소개하겠습니다. 사실 DBeaver를 추천받은 게 이 기능 때문이었는데요. CSV가 있는 폴더를 지정하면 DB처럼 바로 조회 가능한..

sidorl.tistory.com

 

 

2. 해당 팝업창에서 Database를 선택합니다. 메뉴를 보는 것처럼 다양한 타입으로 Export 할 수 있네요.

 

 

3. Target container를 통해 현재 DB를 확인할 수 있습니다. 옆에 폴더 버튼을 눌러서 원하는 DB의 스키마를 선택하면 됩니다.

 

 

4. 저는 sidorl 스키마에는 테이블이 없기 때문에 신규 테이블을 생성해야 합니다. 직접 DDL를 먼저 수행한 후에 import 할 수도 있으며, 지금처럼 디비버에서 직접 테이블 생성까지 진행할 수 있습니다. Mapping 메뉴의 create가 대상 데이터를 보고 테이블을 생성까지 하겠다는 의미입니다. 선택 후에 Next를 눌러주세요

 

 

5. 해당 메뉴에서 몇 row를 읽고 commit 할지, fetch size는 어느 정도 할지를 정하게 되는 메뉴입니다. 기본으로 둬도 되고 수정 사항이 있으면 수정해서 Next를 누르면 됩니다.

 

 

6. 아래와 같이 에러가 났네요. 디비버가 csv를 기준으로 임의로 테이블을 생성했으나, 해당 사이즈가 실제 문제가 있는 겁니다. 해당 스키마는 제가 utf-8로 생성했는데, 인터넷 검색해보니 varchar 제한 수가 32767보다 적네요. 그럼 컬럼 사이즈를 수정해야 되겠네요. 다음 단계에서 보겠습니다. Back을 눌러서 4단계 팝업창까지 되돌아가 주세요.

 

 

7. Coumns 버튼을 클릭하면 매핑되는 컬럼 정보가 나옵니다.

 

 

해당 팝업창에서 타깃 컬럼 타입을 변경할 수 있습니다. 디비버가 처음 예상한 컬럼 타입이 문제가 있으므로 저는 varchar(30)으로 변경했습니다. 그리고 앞의 단계를 다시 반복하시면 됩니다.

 

 

8. 정상적으로 신규 테이블 생성이 되고, 데이터가 import 되었음을 확인할 수 있습니다.

 

 

2. 쿼리 실행 결과를 export

이제 직접 실행한 쿼리를 위에서 했던 dev_result 테이블에 import 하겠습니다. 해당 실행 결과를 import 할 것입니다.

▲임포트할 데이터

 

1. 실행할 쿼리에서 우클릭 > Execute > Export From Query를 선택하면 됩니다.

▲실행 쿼리 결과의 Export

 

 

2. 익숙한 화면이죠? Database를 선택해줍니다.

 

 

3. import 할 스키마로 변경해 줍니다. 

 

 

4. Target에 import할 테이블로 변경해 줍니다. 존재하는 테이블을 선택하니 Mapping이 exsiting으로 되어있네요. 

 

 

5. 이후부터는 기존과 동일한 과정으로 Next를 눌러주면 됩니다.

마지막 팝업창에서 Start를 눌러주면!!!!!

 

 

실행했던 쿼리가 import 되었음을 확인할 수 있겠네요.

 

이상입니다!!!