如何將包含一些行字首的文字檔案匯入 MySQL 表?


假設文字檔案中有行字首,那麼可以使用“LINES STARTING BY”選項忽略該字首並將正確的資料匯入到 MySQL 表中。以下示例可以幫助理解:

示例

假設在文字檔案中使用“VALUE:”作為“行字首”,如下所示:

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;
Query OK, 1 row affected (0.07 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

現在,可以使用以下查詢檢視匯入的內容:

mysql> LOAD DATA LOCAL INFILE 'd:\A.txt' INTO table employee8_tbl FIELDS TERMINATED BY ',' ESCAPED BY '*' LINES STARTING BY 'Value:' IGNORE 1 ROWS;
Query OK, 1 row affected (0.07 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

現在,可以使用以下查詢檢視匯入的內容:

mysql> Select * from employee8_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      |  11000 |
+------+----------------+----------+--------+
1 row in set (0.00 sec)

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;
Query OK, 2 rows affected (0.07 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

現在,可以使用以下查詢檢視匯入的內容:

mysql> Select * from employee8_tbl;
+------+----------------+----------+--------+
| Id   | Name           | Country  | Salary |
+------+----------------+----------+--------+
| 105  | Chum,Marsh     | USA      |  11000 |
| 107  | Raman,Kumar    | IND      |  25000 |
+------+----------------+----------+--------+
2 rows in set (0.00 sec)

更新於:2020年6月20日

191 次檢視

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.