Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะนำเข้าไฟล์ข้อความซึ่งมีคำนำหน้าบางบรรทัดลงในตาราง MySQL ได้อย่างไร


สมมติว่าถ้าเรามีคำนำหน้าบรรทัดในไฟล์ข้อความ จากนั้นด้วยความช่วยเหลือของการใช้ตัวเลือก 'LINES STARTING BY' เราสามารถละเว้นคำนำหน้านั้นและนำเข้าข้อมูลที่ถูกต้องลงในตาราง 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;
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)