☆IT 개발 프로그램☆/Database

[MySQL] DB 쿼리 검색결과를 CSV파일로 바로 추출하기

호기심을 품고사는 중 2020. 6. 4. 15:09

DB에서 쿼리검색결과를 CSV 파일로 취득할 때에는, 2가지 방법이 있다.

DB안에서 쿼리를 바로 입력하여 추출할 수도 있고, 콘솔에서 명령어로 추출하는 방법이 있다.

 

* DB가 있는 서버와 동일한 서버에 파일을 추출하려고 한다면 전자, 후자의 방법을 모두 적용가능하지만, DB서버를 따로 운용하고 있다면 1의 방법은 사용할 수 없다. 파일이 접속 서버측이 아니라, DB측 서버에 생성될것이기 때문이다. 

* 단순히 백업 목적의 EXPORT라면 mysqldump로 export하는 편이 더 간편할 수 있다.

 

 

1. DB안에서 쿼리로 CSV 추출하기

SELECT col1, col2, col3 FROM MY TABLE
INTO OUTFILE '~/20190101.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

1 행 : 추출하고자 하는 내용 쿼리

2 행 : PATH 정의

3 행 : Column Separator 정의 : CSV 이므로 콤마를 선택해주었다

4 행 : Line Separator 정의 : 파일안에서 \n 으로 행 구분을 한다

 

 

2. 콘솔명령어로 DB에서 CSV 추출하기

mysql -u$USER -p$PASSWORD -D$DATABASE -e "select * from mytable" | tr '\t' ',' > '~/20190101.csv'