MySQL 쿼리 결과 CSV 로 저장 추출 방법
- Programming/MySQL
- 2020. 6. 6.
MySQL DB(MariaDB)에서 쿼리 결과를 csv로 추출해야되는 경우가 종종 있습니다.
DB 접속 툴 없이 콘솔 내에서도 명령어로 추출이 가능하며 사용법은 간단합니다.
MySQL 쿼리 결과 추출하기
DB에 접속하여 아래 쿼리를 실행하면 됩니다.
주석된 내용처럼
-- USERS 테이블에서 USERS_ID, USERS_NAME 컬럼 조회한 결과를 /usr/local/maria/data/users.csv 로 저장
-- 한글, 기타 문자가 깨진다면 CHARACTER SET euckr 설정 추가 가능
SELECT USERS_ID, USERS_NAME FROM USERS INTO OUTFILE '/usr/local/maria/data/users.csv' FIELDS TERMINATED BY ',' ENCLOSED BY "'";
-- csv(엑셀) 편집을 할 때 데이터가 0으로 시작하면 표현이 안됩니다.
-- 따라서 CONCAT 명령어로 0으로 시작할 수 있는 데이터를 감싸주어 0이 사라지는걸 방지합니다.
-- 0으로 시작하지 않는 다면 그냥 컬럼만 입력하면 됩니다.
SELECT CONCAT('"',USERS_ID,'"'), USERS_NAME FROM USERS INTO OUTFILE '/usr/local/maria/data/users.csv' FIELDS TERMINATED BY ',' ENCLOSED BY "'";
만약 아래 사진처럼 추출 쿼리를 입력하였을 때 Can't create/write to file .. (Errcode: 13 "Permission denied") 에러가 난다면 파일 저장 경로를 DB가 설치된 경로/data로 지정하면 저장 됩니다.
이제 저장된 파일을 열어서 확인하면 조회한 결과를 파일로 확인할 수 있습니다.
'Programming > MySQL' 카테고리의 다른 글
DBeaver CLIENT_PLUGIN_AUTH is required 해결법 (0) | 2021.01.04 |
---|---|
MySQL workbench safe mode 해제하기 (1) | 2017.10.04 |
MySQL 테이블 엑셀 csv, json, txt파일로 저장하기 (0) | 2017.08.28 |