Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블 데이터를 텍스트 파일로 내보낼 때 쿼리로 지정할 수 있는 출력 형식 옵션

MySQL 테이블의 데이터를 텍스트 파일로 내보낼 때 INTO OUTFILE 구문과 함께 다양한 서식 옵션을 사용할 수 있습니다. 대표적인 옵션으로는 필드를 구분하는 'FIELDS TERMINATED BY', 값을 감싸는 문자를 지정하는 'ENCLOSED BY', 행을 구분하는 'LINES TERMINATED BY' 등이 있으며, 이를 조합하면 내보내지는 텍스트 파일의 값들을 원하는 형태로 배치할 수 있습니다.

예제

다음과 같은 데이터가 담긴 'Student_info' 테이블이 있다고 가정해 보겠습니다.

mysql> Select * from Student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Chandigarh | Literature |
| 125  | Raman   | Shimla     | Computers  |
| 130  | Ram     | Jhansi     | Computers  |
| 132  | Shyam   | Chandigarh | Economics  |
| 133  | Mohan   | Delhi      | Computers  |
+------+---------+------------+------------+
6 rows in set (0.07 sec)

특정 컬럼만 파일로 내보내기

위 테이블에서 'id'와 'Name' 두 컬럼만 파일로 내보내고 싶다면 아래 쿼리처럼 작성할 수 있습니다. 이 쿼리는 'Student_info' 테이블에서 'id'와 'Name' 컬럼의 값만 추출하여 'student3.txt'라는 파일에 저장합니다.

mysql> Select id, Name from Student_info INTO OUTFILE 'C:/mysql/bin/mysql-files/student3.txt' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
Query OK, 6 rows affected (0.07 sec)

이 쿼리가 실행되면 'student3.txt' 파일이 생성되며, 각 옵션이 적용된 방식은 다음과 같습니다.

  • FIELDS TERMINATED BY ',': 각 필드(컬럼) 값이 쉼표(,)로 구분됩니다.
  • ENCLOSED BY '"': 각 값이 큰따옴표(")로 감싸집니다.
  • LINES TERMINATED BY '\r\n': 각 레코드가 캐리지 리턴과 줄바꿈( )으로 구분되어 새로운 줄에 저장됩니다.

내보내진 파일의 결과

위 쿼리가 적용된 후 'student3.txt' 파일의 내용은 다음과 같이 서식화됩니다.

"101","YashPal"
"105","Gaurav"
"125","Raman"
"130","Ram"
"132","Shyam"
"133","Mohan"

이처럼 INTO OUTFILE과 함께 서식 옵션을 조합하면, CSV 파일이나 특정 프로그램에서 요구하는 형식 등 목적에 맞게 데이터를 손쉽게 내보낼 수 있습니다.