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

NULL 값이 포함된 테이블을 CSV로 내보낼 때 MySQL은 어떻게 처리할까?

NULL 값이 포함된 테이블에서 데이터를 내보내면, MySQL은 해당 레코드의 NULL 값을 CSV 파일에 \N으로 저장합니다. 다음 예제를 통해 이를 쉽게 확인할 수 있습니다.

예제

다음과 같은 데이터를 가진 '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  |
| 150  | Saurabh | NULL       | Literature |
+------+---------+------------+------------+
7 rows in set (0.00 sec)

결과를 보면 id가 150인 레코드의 Address 필드가 NULL 값임을 알 수 있습니다. 이제 다음 쿼리를 실행하면 이 테이블의 데이터를 Student_27.CSV 파일로 내보낼 수 있습니다.

mysql> Select * from Student_info INTO OUTFILE 'C:/mysql/bin/mysql-files/student_27.csv' FIELDS TERMINATED BY ',';
Query OK, 7 rows affected (0.02 sec)

위 쿼리는 Student_27.CSV 파일에 다음과 같은 값을 저장합니다.

101   YashPal   Amritsar     History
105   Gaurav    Chandigarh   Literature
125   Raman     Shimla       Computers
130   Ram       Jhansi       Computers
132   Shyam     Chandigarh   Economics
133   Mohan     Delhi        Computers
150   Saurabh   \N           Literature

위 결과에서 확인할 수 있듯이, 테이블에 NULL 값이 있는 경우 MySQL은 해당 위치에 \N을 저장합니다. 즉, 내보낸 CSV 파일을 열어보면 원래 NULL이었던 데이터가 \N 문자열로 표시됩니다. 참고로, 이렇게 내보낸 CSV 파일을 다시 MySQL로 가져올 때도 \N은 NULL로 인식되므로 데이터의 무결성이 그대로 유지된다는 점도 기억해 두면 유용합니다.