본문 바로가기

Database/mariaDB administrator

MySQL select 결과 csv 파일로 저장 하기

MySQL에서 select한 결과를 csv 파일로 저장 하는 방법에 대해서 알아보도록 하겠습니다.
물론 백업의 목적으로 해당 기능을 사용하시려거든 mysqldump로 export 하는 것을 추천 해드립니다.
그게 아니고, 간단하게 원하는 select 결과를 파일로 저장 하기 위해서는 아래 내용을 참고 하셔서 작업 하시기를 권해 드립니다.

MySQL select 결과 csv 파일로 저장 하기

아래와 같이 간단한 select 결과를 csv 파일로 저장하는 스크립트를 생성 했습니다.
우선 예제 SQL을 보시고 설명을 드릴께요.

SELECT name, dept_cd, phone, address FROM class.select_test
INTO OUTFILE '/home/stricky/select_csv/select_test.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

위와 SQL이 같을때, 

첫번째 라인은 우리가 아는 select 문과 같습니다. 텍스트 csv 파일로 저장하고 싶은 데이터의 select 문을 작성 하시면 됩니다.
두번째 라인은 저장 경로 입니다. 이때 주의 하실점은 저기에 명시하는 저장 경로는 우리가 접속하는 PC 클라이언트의 저장 경로가 아니라, MySQL이 설치 되어 있는 서버의 저장경로를 쓰셔야 합니다. 물론 본인 PC에 MySQL이 설치 되어 있다면 본인 PC의 저장 경로를 쓰시면 되겠죠.
세번째 라인은 컬럼과 컬럼사이의 구분자를 지정 하는겁니다. 일반적으로 csv 파일으면 ' , '를 사용합니다.
네번째 라인은 데이터의 행을 구분하는 건데 '\n'은 줄바꿈을 의미 합니다.

자, 이렇게 작성을 하면 (SELECT name, dept_cd, phone, address FROM class.select_test) 의 쿼리 결과를 (/home/stricky/select_csv/select_test.csv) 여기 경로에 csv 파일로 저장을 하게 되겠죠.

일을 쉽게 하실수 있습니다.

감사합니다.



by.sTricky