如何仅将文本文件中的特定列导入MySQL表?


假设文本文件和我们要导入数据的MySQL表中某些特定列的值存在,而MySQL表中存在额外列(s),那么通过在查询中提及列名,我们就可以只上传这些特定列的值。这可以通过以下示例来理解:

示例

假设文本文件只包含'id'、'Name'和'Salary'列的值,如下所示:

105,Chum,11000
106,Danny,12000

现在,将此文本文件导入MySQL表时,我们需要在查询中提及文本文件中包含值的列名,如下所示:

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee9_tbl FIELDS TERMINATED BY ','(id, Name, Salary);
Query OK, 2 rows affected (0.04 sec)
Records: 2 Deleted: 0 Skipped: 0 Warnings: 0

mysql> Select * from employee9_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum           | NULL     | 11000  |
| 106  | Danny          | NULL     | 12000  |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

从以上结果集可以看出,MySQL只上传了三个列的值,即Id、Name和Salary。它在'Country'字段中存储NULL。

更新于:2020年2月4日

1K+ 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告