[Wecode] CSV 파일 이용해 DB에 Data Import하기

김택수·2022년 10월 17일
0

1차 프로젝트 시작 전, 데이터를 구축해야하는 과정이 존재하였고, 해당 과정은 CSV파일 작성 후 Data를 Import 해주면 간편하게 많은 데이터를 생성하는 것이 중요하다고 판단되어 그 방법을 찾아보게 되었다.

요약하자면 MySQL Workbench의 내장기능인 Table Data Import Wizard를 이용한 CSV파일 Import를 알아보았다.

1. MySQL Workbench 실행 기존 DB 불러오기

1. MySQL Workbench 실행 후 + 버튼 누르기

2. 기본 서버 정보 입력 창에서 기본 정보 입력

Connection Name 작성 후, host, port, username 확인 후, password 설정되어있다면 Store in Vault 눌러서 비밀번호 입력 (연결된 DB에 대한 정보를 입력해야한다)

하단 Test Connection을 이용해서 적용되는지 안되는지 확인해볼 수 있다. 해당 사진이 떴다면 성공한 것

3. 해당 사진이 떴다면 연결 성공

2. CSV 파일 Import 하기

1. Run Table Data Import Wizard 사용

데이터를 삽입할 테이블을 오른쪽 클릭 한 후 Table Data Import Wizard를 클릭한다.

2. Select File to Import

Import할 CSV 파일을 선택 - 확장자는 반드시 소문자 .csv로 통일

3. Select Destination

이미 만들어진 테이블에 데이터를 삽입하기 위해서는 'Use existing table'을 선택하고, Default로 되어있는 Truncate table before Import는 체크해제한다.

4. Configure Import Settings

CSV파일의 컬럼이 테이블의 어떤 컬럼에 대응될 것인지 선택 가능하다. 처음부터 컬럼명을 동일하게 맞춰주면 따로 건드릴 필요 없음.

5. Error 상황?

해당 Error가 뜬다면 encoding type에 문제가 있기 때문이다. 해결방법은 csv파일을 메모장으로 열어 다른 이름으로 저장하기 누른 후 인코딩방식을 UTF-8로 변경해주면 된다.

6. 완료상황

정상적으로 Table Data Import가 이루어졌다면 다음과 같은 화면들이 출력된다.


7. CSV파일로 Import가 어려울 때는?

기껏 작성한 CSV파일이 Import가 안됐다. 이유는 cp949라는 인코딩문제가 계속적으로 에러를 띄웠는데 해결책을 찾진 못했다.

차선책으로 Mysql Table Data Import 시에 파일타입을 두가지로 설정할 수 있었다. csv와 json파일을 Import할 수 있었는데 CSV to JSON 에서 CSV 파일을 JSON 형식으로 Convert 가능했고, 이 방법으로 데이터들을 Import할 수 있었다.

8. Import에도 순서가 있다?

가령, FK가 존재하는 Table은 관계에 있는 Table들을 먼저 추가해줘야 데이터를 Import할 수 있다.
ex) product에서 categories_id와 sub_categories_id를 참조하고 있다면 product부터 Import 하면 데이터가 들어가지 않는다. 먼저 categories와 sub_categories를 Import한 후 product를 Import 가능하다.

profile
개발자 키우기 Lv1

0개의 댓글