[mysql] 데이터 가공(csv, json, import, export) 오류
728x90

csv 파일을 import한 뒤 가공해서 export 하는 과정을 거쳤을 때 나타나는 오류 위주로 정리했다 구글링해서 나오는 모든 경우의 수를 최대한 적어 보겠으나 나는 해결을 보지 못하고 편법으로? 해결한 것들이 많다 다른 사람들은 해결된 경우가 많았기 때문에 하나씩 해 보고 안 된다면 편법까지 사용해 보는 것이 좋을 것 같다

 

데이터 import

Table Date Import Wizard 사용하기

테이블 생성 후 스키마/테이블에서 오른쪽 마우스 클릭 - Table Date Import Wizard

 

코덱 오류

Error Unhandled exception: 'cp949' codec can't decode byte 0xec in position 75: illegal multibyte sequence Check the log for more details.

 

메모장으로 열어서 utf-8로 인코딩 후 저장

이걸로도 해결이 안됐다

 

쿼리문에서 SCHEMA와 TABLE 생성할 때 utf8 설정

마찬가지로 해결이 안됐다

 

첫번째 줄 영어로 모두 변경

마찬가지로 해결이 안됐다

 

json 파일로 변환

https://csvjson.com/csv2json

 

CSV to JSON - CSVJSON

Embed all the functionality of csvjson in any web application with Flatfile. Auto-match columns, validate data fields, and provide an intuitive CSV import experience.

csvjson.com

똑같이 스키마/테이블에서 오른쪽 마우스 클릭 - Table Date Import Wizard를 누른 뒤 browse에서 json을 선택해 파일을 업로드하면 된다 나는 이 방법으로 데이터 import를 성공했다

 

데이터 export

csv export 코드

SELECT sido, sigungu, medi_nm, addr, weekday_time, sat_time, sun_time, holiday_time, tel, ssafy_nm, reg_dt
FROM sc_clinic
INTO OUTFILE 'C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\test.csv';

 

데이터 출력 위치 확인

SHOW VARIABLES LIKE "secure_file_priv";

sql은 보안 때문에 해당 위치에서만 출력이 가능하다

 

폴더 위치 오류

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

폴더명이 잘못되거나 보안상 출력 불가능한 위치를 지정했을 경우 뜨는 오류다

 

파일명 수정하기

Error Code: 1. Can't create/write to file 'C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\파일.csv' (OS errno 2 - No such file or directory)

파일 이름을 한글이 아닌 영어로 바꾸면 해결된다

 

Table Date Export Wizard 사용하기

스키마가 아닌 테이블명 위에서 오른쪽 버튼을 눌러 사용할 수 있다

정해진 폴더 위치가 아닌 다른 위치를 자유롭게 설정 가능하다

728x90

'프로그래밍 > DB' 카테고리의 다른 글

[SQL][프로그래머스] SELECT 문제 풀이  (0) 2022.10.15
[SQL][프로그래머스] JOIN 문제 풀이  (0) 2022.10.14
mysql  (0) 2022.03.16
mysql - 실습(5-3)  (0) 2022.03.16
mysql - 실습(6-3)  (0) 2022.03.16