DB 테이블에 저장된 데이터를 CSV로 변환하는 SQL
· by 박승재
MySQL/MariaDB를 사용하다 보면 DB 테이블의 데이터를 따로 뽑아서 보관해야 될 일이 있을 것이다.
이 경우 주로 mysqldump를 이용해 테이블을 저장하지만, 이번에는 SQL 코드를 이용해 테이블을 CSV 파일로 저장하는 방법을 소개해보도록 하겠다.
DB -> CSV
DB 테이블에 저장된 데이터를 CSV로 변환에 출력하는 SQL 코드이다.
SELECT `field1`, `field2`, `field3` INTO OUTFILE './filename.csv'
FIELDS
TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
FROM table_name;
파일은 /var/lib/mysql/
에 저장되며, 기본 개행 문자는 \n
(LF)이다.
CRLF로 바꾸려면 LINES TERMINATED BY '\r\n'
을 FIELDS
구문 아래에 추가하면 된다.
참고: MariaDB - SELECT INTO OUTFILE
CSV -> DB
CSV 데이터를 DB 테이블에 삽입하는 SQL 코드이다.
LOAD DATA INFILE './filename.csv'
INTO TABLE table_name
FIELDS
TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
(`field1`, `field2`, `field3`);
마찬가지로 기본 개행 문자는 LF이며, 위 경우와 동일한 방법으로 개행 문자를 바꿀 수 있다.
← 다음 글
DB View를 이용한 SQL 쿼리 단순화
이전 글 →
Python 가상환경 사용방법