DataGrip 기존 table data INSERT 문으로 export && CREATE TABLE 문 export

혼자서 이거저거 만지고 개발하다 보니까 mysql, mariadb, postgre 등 여러 RDB를 사용했었다.
그러다가 문득 다른 DB 간에 테이블과 해당 테이블에 있는 Data가 필요하게 되어 편하게 옮기는 방법 없을까? 찾다가 내가 한 방법을 블로깅 한다.

DataGrip 툴을 이용해서 먼저 DDL CREATE TABLE 을 뽑아낸다.
아래 이미지 처럼 해당 스키마이든 해당테이블을 선택하고 오른쪽 클릭을 하고,
SQL Scripts 에 마우스를 올리면 오른쪽 처럼 Generate DDL 이라는 문구를 찾을 수 있다.

아래 처럼 DDL 을 뽑을 수 있다. 물론 mysql, mariadb 같은 경우 SHOW CREATE TABLE 문을 사용할 수 있지만, 테이블이 여러개일 경우, 혹은 전체 스키마를 다 따야할 경우 테이블 하나하나 하고 있을 수 없다.
그럴 때 이렇게 사용하면 좋을것 같다.


그렇다면 이제는 특정 테이블의 Data 들을 INSERT 구문으로 뽑아보자.
아래와 같이 우선 SELECT * FROM table; 을 하든 뭘 하든 추출하려는 데이터셋을 query 로 돌린다.
그리고 아래처럼 row 들을 선택하고 오른쪽 클릭을 한다.

우선 아래처럼 Data Extractor:~ 를 보면 여러가지 방법이 있다.
INSERT 문의 두 가지가 가능하다.
1. SQL Inserts
2. SQL-Insert-Statements.sql.groovy

두 가지 중 하나를 선택한다.

그리고 아래 처럼 Dump Data 로 가서 파일을 생성하든지 클립보드에 출력하든지 선택하면 된다.

나같은 경우, 파일로 생성했다. 따라서 아래처럼 파일을 생성한다.

그리고 파일이 생성되면, DataGrip 오른쪽 하단에 아래와 같은 얼럿이 나온다.

파일을 눌러서 열어보면 아래 이미지와 같이 Insert 문으로 변환된 것을 볼 수 있다.



댓글

이 블로그의 인기 게시물

About JVM Warm up

About idempotent

About Kafka Basic

About ZGC

sneak peek jitpack

Spring Boot Actuator readiness, liveness probes on k8s

About Websocket minimize data size and data transfer cost on cloud

About G1 GC

대학생 코딩 과제 대행 java, python, oracle 네 번째