[mongoDB] Mysql 데이터를 MongoDB로 옮기기( java, json )

Use_Silver·2022년 1월 18일
0

mongoDB

목록 보기
3/6

1. Java 사용

Mysql Java 연결

2. json 사용

1. DBeaver 사용해 json 파일로 변환

  1. select * from table명 # 모든 테이블 데이터 조회

  2. select 결과에 마우스 오른쪽 키 -> 데이터 추출

  3. 원하는 데이터 형태, 파일 경로 등 지정해서 저장

  4. export 파일

  5. mongoimport

  • import
    mongoimport -c=dept -d=empdb2 --file=dept_202201181217.json
  • 생성 확인
  • null값
    select 한 결과를 json으로 export -> import 했을 때, null값이 사라진다
    이유는 json으로 export 할 때 select에서 null값이 사라지기 때문!

    저장된 json 파일을 열어보면 아래와 같은 형식으로 저장되어 있을것이다.

    이런식으로 바꿔주면 데이터가 원래 상태로 들어간다.

2. select query문에서 json으로 변환

1. conat


  1. concat
- select concat(deptno, dname, loc) from dept;
<Result>
concat(deptno, dname, loc)|
--------------------------+
10ACCOUNTINGNEW YORK      |
20RESEARCHDALLAS          |
30SALESCHICAGO            |
40OPERATIONSBOSTON        |
5050                      |
  1. group_concat
- select group_concat(deptno, dname, loc) from dept;
<Result>
group_concat(deptno, dname, loc)                                            |
----------------------------------------------------------------------------+
10ACCOUNTINGNEW YORK,20RESEARCHDALLAS,30SALESCHICAGO,40OPERATIONSBOSTON,5050|
  1. group_concat... as json 1
- select group_concat("'",
		concat('deptno',deptno),
		concat('dname',dname),
		"'") as json from dept;
<Result>
json                                                                                                            |
----------------------------------------------------------------------------------------------------------------+
'deptno10dnameACCOUNTING','deptno20dnameRESEARCH','deptno30dnameSALES','deptno40dnameOPERATIONS','deptno50dname'|
  1. group_concat ... as json 2
  - select group_concat(
		concat("{deptno:'",deptno,"'"),
		concat(",dname:'",dname,"'}"),
		"'") as json from dept;
<Result>
json                                                                                                                                                    |
--------------------------------------------------------------------------------------------------------------------------------------------------------+
{deptno:'10',dname:'ACCOUNTING'}',{deptno:'20',dname:'RESEARCH'}',{deptno:'30',dname:'SALES'}',{deptno:'40',dname:'OPERATIONS'}',{deptno:'50',dname:''}'|
  1. concat(.. group_concat( concat..))) ... as json 3
  - select concat("[",
		group_concat(
		concat("{deptno:'",deptno,"'"),
		concat(",dname:'",dname,"'}") )
		,"]")
		as json from dept;
<Result>
json                                                                                                                                                 |
-----------------------------------------------------------------------------------------------------------------------------------------------------+
[{deptno:'10',dname:'ACCOUNTING'},{deptno:'20',dname:'RESEARCH'},{deptno:'30',dname:'SALES'},{deptno:'40',dname:'OPERATIONS'},{deptno:'50',dname:''}]|

2. json


1. json_object

select json_object('dname',dname) from dept;
json_object('dname',dname)|
--------------------------+
{"dname": "ACCOUNTING"}   |
{"dname": "RESEARCH"}     |
{"dname": "SALES"}        |
{"dname": "OPERATIONS"}   |
{"dname": ""}             |
  1. json_array
select json_array('dname',dname) from dept;
json_array('dname',dname)|
-------------------------+
["dname", "ACCOUNTING"]  |
["dname", "RESEARCH"]    |
["dname", "SALES"]       |
["dname", "OPERATIONS"]  |
["dname", ""]            |

MongoDB Json으로 export

  1. export tools download
    https://docs.mongodb.com/database-tools/mongoexport/
    환경에 맞춰 download
  2. host, collection, use database, out 지정해서 export
    2-1. host, port번호 빼고 export

  3. 조건을 줘서 export
profile
과정은 힘들지만😨 성장은 즐겁습니다🎵

0개의 댓글