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'