본문 바로가기

지식창고/DataBase

[Maria/Mysql] 쿼리 결과를 csv 파일로 내려받기

반응형
#1. 개요
  • mariadb 또는 mysql에서 쿼리 결과를 csv 형식으로 내려받는 방법을 소개합니다.

 

#2. 사용 방법

INTO OUTFILE 구문 사용

  • INTO OUTFILE 구문을 사용해서 결과를 파일로 내려받습니다.
  • SELECT ...[쿼리] INTO OUTFILE '[파일경로/파일명]' FIELDS TERMINATED BY ',' ENCLOSED BY '"';
# 쿼리 사용 방법
SELECT * FROM insa WHERE NAME = '손흥민' INTO OUTFILE '/var/lib/mysql/data/insa_file.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"';

 

#3. 주의점

1. (mysql 계정)내려 받는 디렉터리 권한이 없는 경우(permission denied 오류)

  • 첫 번째 해결방안, 디렉터리 권한에 mysql 계정을 넣어줍니다.
  • 두 번째 해결방안, mysql 설치 경로 안 data 디렉터리 등을 지정해 줍니다.

2. 파일명을 한글로 만들고 싶은 경우

  • 파일명에 iconv로 인코딩 처리를 해야합니다.
# 쿼리 사용 방법
SELECT * FROM insa WHERE NAME = '손흥민' INTO OUTFILE '/var/lib/mysql/data/insa_file.csv.iconv('utf8','euc-kr')' FIELDS TERMINATED BY ',' ENCLOSED BY '"';

3. 엑셀 파일 내 한글이 깨지는 경우

  • 내려받은 엑셀 파일 내 한글이 깨질 경우 문자셋을 지정해주어야 합니다.
  • character set [utf8] or [euckr]
# 쿼리 사용 방법
SELECT * FROM insa WHERE NAME = '손흥민' INTO OUTFILE '/var/lib/mysql/data/insa_file.csv' character set euckr FIELDS TERMINATED BY ',' ENCLOSED BY '"';

 

반응형