MySQL에서 CSV 파일로 데이터 내보내기

Preet Sanghavi 2022년1월20일
MySQL에서 CSV 파일로 데이터 내보내기

이 튜토리얼에서는 MySQL 쿼리의 출력을 CSV 파일로 저장하는 방법을 소개합니다.

MySQL에는 선택 쿼리의 출력을 서버의 텍스트 또는 CSV 파일로 내보내는 쉬운 기술이 있습니다. INTO OUTFILE과 같은 복잡한 명령을 사용하여 CSV 파일에 빠르고 효율적으로 쓸 수 있습니다.

테이블을 만들고 그 결과를 CSV 파일에 저장해 보겠습니다.

그러나 시작하기 전에 작업할 더미 데이터 세트를 만듭니다. 여기에서 몇 개의 행과 함께 student_details 테이블을 만듭니다.

-- create the table student_details
CREATE TABLE student_details(
  stu_id int,
  stu_firstName varchar(255) DEFAULT NULL,
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName) 
 VALUES(1,"Preet","Sanghavi"),
 (2,"Rich","John"),
 (3,"Veron","Brow"),
 (4,"Geo","Jos"),
 (5,"Hash","Shah"),
 (6,"Sachin","Parker"),
 (7,"David","Miller");

위의 쿼리는 학생의 이름과 성이 포함된 행과 함께 테이블을 생성합니다. 데이터의 항목을 보기 위해 다음 코드를 사용합니다.

SELECT * FROM student_details;

위의 코드는 다음과 같은 출력을 제공합니다.

stu_id	stu_firstName	stu_lastName
1	      Preet	        Sanghavi
2	      Rich	        John
3	      Veron	        Brow
4	      Geo	        Jos
5	      Hash	        Shah
6	      Sachin	    Parker
7	      David	        Miller

이제 위 쿼리의 결과를 별도의 CSV 파일에 저장해 보겠습니다.

CSV로 MySQL 내보내기

MySQL 데이터를 CSV로 내보내는 가장 기본적인 방법 중 하나는 OUTFILE 키워드를 사용하는 것입니다. 아래와 같이 이 키워드를 사용할 수 있습니다.

-- Exporting data into students.csv file
SELECT stu_id, stu_firstName, stu_lastName
FROM student_details
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv';

위의 코드는 쿼리의 출력을 C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/ 디렉토리의 abc.csv라는 파일에 씁니다.

참고: 출력 파일은 프로그램 데이터에서 MySQL Server 8.0의 Uploads 폴더에 이미 있을 수도 있고 없을 수도 있습니다. 위의 코드를 실행하면 데이터가 포함된 파일이 생성됩니다.

위에서 언급한 코드의 출력은 다음 파일을 생성합니다.

CSV 파일 생성

위에서 언급한 파일의 데이터는 다음과 같이 볼 수 있습니다.

CSV 파일 보기

CSV 파일 내에서 출력 형식을 지정할 수도 있습니다. 이것은 FIELDS TERMINATED BY, ENCLOSED BY '""'LINES TERMINATED BY 명령을 사용하여 수행할 수 있습니다. 이러한 명령을 다음과 같이 사용할 수 있습니다.

-- Exporting data into students.csv file
SELECT *
FROM student_details
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/abc.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

위 코드의 출력 결과는 다음과 같은 CSV 파일이 됩니다.

업데이트된 CSV 파일 보기

보시다시피, 위 이미지의 출력은 탭으로 구분된 파일로 올바르게 형식이 지정되어 있습니다.

따라서 위의 방법을 사용하여 데이터를 CSV 파일로 효율적으로 내보낼 수 있습니다. 이 CSV 파일을 찾으려면 위에서 언급한 코드 블록의 INTO OUTFILE 명령에 지정된 경로를 따라갈 수 있습니다.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub