Mengimport fail CSV ke dalam MySQL: Menyelidiki LOAD DATA dan mysqlimport
Cabaran mengimport fail CSV ke dalam jadual MySQL boleh timbul apabila berurusan dengan data tidak normal dan berbilang lajur. Untuk menyelesaikan masalah ini, adalah penting untuk mempertimbangkan nuansa proses import.
Pendekatan LOAD DATA
LOAD DATA menyediakan kaedah mudah untuk mengimport data daripada fail CSV . Walau bagaimanapun, adalah penting untuk menentukan parameter tambahan untuk memastikan pengendalian yang betul bagi blur teks yang merentangi berbilang baris. Berikut ialah contoh yang menangani isu yang berpotensi dengan pemisah baris:
LOAD DATA INFILE "/home/paul/clientdata.csv" INTO TABLE CSVImport COLUMNS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;
Pernyataan yang disemak ini menangani masalah yang berpotensi dengan menyatakan aksara penamatan baris dan mengabaikan baris pertama untuk nama lajur.
Utiliti mysqlimport
Pilihan lain untuk mengimport fail CSV ke dalam MySQL ialah mysqlimport, alat baris arahan yang direka khusus untuk tujuan ini. Ia menawarkan cara yang berkuasa dan cekap untuk mengimport set data yang besar:
mysqlimport --ignore-lines=1 \ --fields-terminated-by=, \ --local -u root \ -p Database \ TableName.csv
Dalam arahan ini, "--ignore-lines=1" melangkau baris pertama fail CSV (mengandungi nama lajur), "- -fields-terminated-by=," menentukan pembatas medan sebagai koma, "--local" memastikan import berlaku pada mesin tempatan dan "-u root -p" menggesa untuk kata laluan akar sebelum menyambung ke pangkalan data.
Pertimbangan Tambahan
Untuk menyesuaikan pembatas medan, gunakan "--fields-terminated-by='t'" pilihan untuk fail yang dibataskan tab. Tambahan pula, jika fail CSV mengandungi aksara khas yang perlu melarikan diri, gunakan pilihan "--lines-terminated-by='r'" untuk pengakhiran baris Windows dan "--lines-terminated-by='n'" untuk baris Unix pengakhiran.
Atas ialah kandungan terperinci LOAD DATA vs. mysqlimport: Manakah Cara Terbaik untuk Mengimport Fail CSV ke dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!