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

MySQL 테이블의 일부 필드(컬럼)만 텍스트 파일로 내보내는 방법

MySQL 테이블의 데이터를 파일로 내보낼 때 SELECT ... INTO OUTFILE 문에 원하는 컬럼 이름을 직접 지정하면, 테이블 전체가 아닌 일부 필드만 텍스트 파일로 추출할 수 있습니다.

아래 예시를 통해 구체적인 방법을 살펴보겠습니다.

예시

다음과 같은 데이터를 가진 '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' 두 개의 컬럼만 파일로 내보내고 싶다면, SELECT 절에 해당 컬럼명만 명시하면 됩니다. 아래 쿼리는 'Student_info' 테이블에서 'id'와 'Name' 값만 추출하여 'student1.txt'라는 파일로 저장합니다.

mysql> Select id, Name from Student_info INTO OUTFILE 'C:/mysql/bin/mysql-files/student1.txt';
Query OK, 6 rows affected (0.07 sec)

이 쿼리를 실행하면 지정한 경로에 'student1.txt' 파일이 생성되며, 그 안에는 'Student_info' 테이블의 'id'와 'Name' 컬럼 값만 저장됩니다.

참고 사항

INTO OUTFILE을 사용할 때는 MySQL 서버가 해당 디렉터리에 파일을 쓸 수 있는 권한이 있어야 하며, 같은 이름의 파일이 이미 존재하면 오류가 발생하므로 미리 삭제하거나 다른 파일명을 사용해야 합니다. 또한 secure_file_priv 시스템 변수에 설정된 허용 경로 안에서만 파일을 생성할 수 있습니다.