Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

일부 라인 접두사가 있는 텍스트 파일을 MySQL 테이블로 어떻게 가져올 수 있습니까?

<시간/>

텍스트 파일에 줄 접두어가 있는 경우 'LINES STARTING BY' 옵션을 사용하여 해당 접두어를 무시하고 올바른 데이터를 MySQL 테이블로 가져올 수 있다고 가정합니다. 다음 예의 도움으로 이해할 수 있습니다 -

예시

다음과 같이 텍스트 파일의 'LINE PREFIX'로 '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)