Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng tôi có thể lưu trữ bất kỳ giá trị nào khác ngoài \ N trong tệp CSV nếu chúng tôi xuất dữ liệu sang tệp CSV từ bảng có chứa (các) giá trị NULL?

Nếu chúng ta muốn lưu trữ bất kỳ giá trị nào khác ngoài \ N trong tệp CSV khi xuất dữ liệu sang tệp CSV từ bảng chứa (các) giá trị NULL thì chúng ta cần thay thế các giá trị \ N bằng giá trị khác bằng cách sử dụng câu lệnh IFNULL. Để minh họa điều đó, chúng tôi lấy ví dụ sau -

Ví dụ

Giả sử nếu chúng ta muốn xuất các giá trị của bảng ‘student_info’ có dữ liệu sau -

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)

Như chúng ta có thể thấy rằng kết quả có giá trị NULL cho trường địa chỉ nơi id là 150. Bây giờ, truy vấn sau sẽ xuất dữ liệu của bảng này thành Student_28.CSV và lưu trữ "Không áp dụng" ở vị trí \ N -

mysql> Select IFNULL(id,'Not Applicable'), IFNULL(Name,'Not Applicable'), IFNULL(Address,'Not Applicable'), IFNULL(Subject,'Not Applicable') from Student_info INTO OUTFILE 'C:/mysql/bin/mysql-files/student_28.csv' FIELDS TERMINATED BY ',';
Query OK, 7 rows affected (0.02 sec)

Chúng ta có thể thấy rằng student_28.CSV không Áp dụng tại vị trí của \ N như có thể thấy từ các giá trị sau -

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   Not Applicable   Literature