如果从包含 NULL 值的表中导出数据到 CSV 文件,我们如何存储除 N 之外的任何其他值?


如果我们想在从包含 NULL 值的表中导出数据到 CSV 文件时,存储 \N 之外的任何其他值,则需要使用 IFNULL 语句将 \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 时,地址字段的值为 NULL。下面的查询将把该表的数据导出到 Student_28.CSV 文件中,并将 ‘Not Applicable’ 存储在 \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)

我们可以看到,student_28.CSV 文件中 \N 的位置被替换为 Not Applicable,如下面的值所示:

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

更新于: 2020年2月7日

173 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.