Mengimport set data yang besar ke dalam MySQL daripada fail teks boleh menjadi tugas biasa apabila berurusan dengan analisis data atau senario penyepaduan . Salah satu cara yang paling berkesan untuk mencapai ini ialah dengan menggunakan arahan LOAD DATA INFILE.
Struktur Perintah
Arahan LOAD DATA INFILE mengikut sintaks tertentu:
LOAD DATA INFILE 'file_path' INTO TABLE table_name FIELDS TERMINATED BY 'delimiter' LINES TERMINATED BY 'line_delimiter' (column_list)
Mengimport Tab-Delimited Data
Seperti yang dinyatakan dalam soalan anda, fail teks anda mengandungi data yang dibataskan tab. Secara lalai, LOAD DATA INFILE menganggap tab sebagai pembatas medan. Oleh itu, arahan berikut harus mengimport data anda:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport;
Menentukan Pembatas
Jika fail anda menggunakan pembatas yang berbeza, anda boleh menentukannya menggunakan FIELDS TERMINATED BY klausa. Contohnya, jika data anda dipisahkan koma:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ','
Menetapkan Pembatas Baris
FASAL LINES DITAMATKAN OLEH menentukan aksara akhir baris. Secara lalai, ia adalah 'n' untuk baris baharu. Jika fail anda menggunakan aksara yang berbeza, laraskan dengan sewajarnya.
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; # If your file uses CRLF as line delimiter
Pemetaan Lajur
Bahagian (column_list) membolehkan anda menentukan pemetaan antara lajur dalam fail teks dan lajur dalam jadual pangkalan data. Jika susunan dan bilangan lajur sepadan, anda boleh meninggalkan bahagian ini.
Contoh dengan Pemetaan Lajur
Andaikan fail teks anda mempunyai lajur tambahan yang tidak terdapat dalam jadual PerformanceReport . Anda boleh menentukan hanya lajur yang berkaitan dalam arahan anda:
LOAD DATA INFILE '/tmp/text_file.txt' INTO TABLE PerformanceReport (id, date, value, keyword, cost, clicks) FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';
Pertimbangan Lain
Atas ialah kandungan terperinci Bagaimana untuk Mengimport Fail Teks Dibatasi Tab dengan Cekap ke dalam MySQL Menggunakan LOAD DATA INFILE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!