MySQL 如何将带有一些行前缀的文本文件导入到MySQL表中?

MySQL 如何将带有一些行前缀的文本文件导入到MySQL表中?

假设我们在文本文件中有一个行前缀,那么使用“LINES STARTING BY”选项,我们可以忽略该前缀并将正确的数据导入到MySQL表中。以下示例说明它的作用。

阅读更多:MySQL 教程

例子

假设我们在文本文件中使用“VALUE”作为“LINE PREFIX”,如下所示-

id,         Name,     Country,        Salary
VALUE:105,  Chum*,    Marsh,USA,      11000
106,        Danny*,   Harrison,AUS,   12000

现在,在将此文本文件导入到MySQL表中时,我们需要在查询中也提到“LINES STARTING BY”选项,如下所示-

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee8_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' LINES STARTING BY 'Value:' IGNORE 1 ROWS;
查询成功,1行受影响(0.07秒)
记录:1 已删除:0 已跳过:0 警告:0

现在,我们可以使用以下查询来查看已导入的内容:

mysql> Select * from employee8_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      |  11000 |
+------+----------------+----------+--------+
1行结果(0.00秒)

MySQL 仅在表中导入一条记录,因为我们在第一行之前使用了行前缀“VALUE:”,因此它会忽略没有行前缀的行。现在,假设我们在文本文件中添加另一行,行前缀为“VALUE:”,则MySQL也将上传此行-

id,         Name,                Country,    Salary
Value:105,   Chum*,               Marsh,USA,  11000
106,         Danny*,Harrison,     AUS,        12000
Value:107,   Raman*,Kumar,        IND,        25000
mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee8_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' LINES STARTING BY 'Value:' IGNORE 1 ROWS;
查询成功,2行受影响(0.07秒)
记录:1 已删除:0 已跳过:0 警告:0

现在,我们可以使用以下查询来查看已导入的内容:

mysql> Select * from employee8_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      |  11000 |
| 107  | Raman,Kumar    | IND      |  25000 |
+------+----------------+----------+--------+
2行结果(0.00秒)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程