1. Pengantar tentang Impor CSV ke MySQL
Mengimpor file CSV ke MySQL adalah cara yang efektif untuk mengelola data dan mengurangi pekerjaan memasukkan data secara manual. Misalnya, saat Anda ingin memasukkan informasi dari berbagai sumber data ke dalam database sekaligus, atau ketika Anda ingin memproses data dari sistem eksternal secara otomatis, impor CSV menjadi solusi yang sangat berguna.
Kegunaan Umum Impor CSV
- Pengolahan data dalam jumlah besar: Alih-alih memasukkan ribuan record secara manual, dengan impor CSV data dapat diproses dalam waktu singkat.
- Migrasi data: Berguna untuk memasukkan data yang diekspor dari sistem lain ke MySQL.
- Pembaruan data berkala: Pada sistem yang membutuhkan pembaruan rutin, impor CSV memungkinkan otomatisasi.
2. Prasyarat
Sebelum mengimpor file CSV ke MySQL, ada beberapa pengaturan dan persiapan yang perlu dilakukan agar proses impor berjalan lancar.
2.1 Lingkungan yang diperlukan
- Instalasi server MySQL
Pastikan MySQL sudah terpasang dan berjalan dengan baik. Cek sesuai OS yang digunakan, baik Windows, macOS, maupun Linux. - Pemeriksaan hak akses
Untuk mengimpor CSV, pengguna MySQL harus memiliki hak akses yang sesuai. Terutama izin untuk menjalankanLOAD DATA INFILE
. Tanpa izin ini, impor akan ditolak.
2.2 Format file CSV
- Pemisah kolom
Biasanya file CSV menggunakan koma, namun kadang tab atau titik koma juga dipakai. Pastikan jenis pemisah yang digunakan. - Pemeriksaan encoding
Jika file CSV disimpan dengan encoding berbeda (UTF-8, Shift-JIS, dll), bisa muncul karakter rusak saat impor. Periksa encoding file sebelumnya dan ubah ke format yang sesuai bila diperlukan.

3. Impor CSV dengan Perintah LOAD DATA INFILE
Cara paling umum untuk mengimpor file CSV ke MySQL adalah menggunakan perintah LOAD DATA INFILE
. Dengan perintah ini, data dalam jumlah besar dapat dengan mudah dimasukkan ke database.
3.1 Sintaks dasar
Berikut contoh sintaks dasar untuk mengimpor file CSV ke MySQL:
LOAD DATA INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
FIELDS TERMINATED BY
: Menentukan pemisah antar kolom. Umumnya koma.LINES TERMINATED BY
: Menentukan pemisah antar baris. Biasanyan
(newline).
3.2 Contoh eksekusi
Contoh berikut mengimpor file user_data.csv
ke tabel users
:
LOAD DATA INFILE '/path/to/user_data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
IGNORE 1 LINES
: Melewati baris pertama (header). Berguna jika file CSV memiliki nama kolom di baris pertama.
3.3 Catatan: Path file dan izin akses
Pastikan file berada di lokasi yang bisa diakses server MySQL. Jika tidak bisa diakses, gunakan LOAD DATA LOCAL INFILE
untuk membaca file dari sisi klien.
4. Solusi untuk Masalah Umum
Berikut beberapa masalah umum saat impor CSV dan cara mengatasinya:
4.1 Masalah path file
Jika path file salah, bisa muncul error The MySQL server is not permitted to read from the file
. Periksa path file, atau gunakan LOAD DATA LOCAL INFILE
untuk membaca file lokal.
LOAD DATA LOCAL INFILE '/path/to/file.csv' INTO TABLE table_name
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n';
4.2 Masalah encoding karakter
Jika encoding file berbeda, karakter bisa rusak saat impor. Periksa encoding dan tentukan charset yang tepat di MySQL.
SET NAMES 'utf8mb4';

5. Contoh Praktis: Langkah Impor CSV
Berikut langkah-langkah impor file CSV ke MySQL secara nyata.
5.1 Persiapan file CSV
Buat file CSV (data.csv
) seperti berikut:
id,name,age
1,山田太郎,28
2,佐藤花子,34
3,田中一郎,45
5.2 Eksekusi perintah
Jalankan perintah berikut untuk mengimpor file ke tabel users
:
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES;
Dengan perintah ini, baris kedua dan seterusnya dari file CSV akan masuk ke tabel users
.
6. Lanjutan: Penanganan Error dan Data Duplikat
Berikut cara menangani error atau duplikasi data saat impor CSV:
6.1 Mengatasi data duplikat
Jika data dengan kunci yang sama sudah ada, gunakan opsi REPLACE
untuk mengganti baris lama dengan data baru.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
REPLACE;
6.2 Penanganan error
Gunakan opsi IGNORE
agar proses tetap berjalan meskipun ada error. Baris bermasalah akan dilewati, sementara data lainnya tetap diimpor.
LOAD DATA INFILE '/path/to/data.csv' INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY 'n'
IGNORE 1 LINES
IGNORE;

7. Kesimpulan
Impor CSV ke MySQL adalah alat yang sangat berguna untuk mempercepat pengolahan data dalam jumlah besar maupun migrasi antar sistem. Dengan memahami langkah dasar, penanganan error, dan duplikasi data, Anda dapat melakukan impor dengan stabil dan efisien.
Ke depan, kami juga akan membahas metode ekspor data dari MySQL agar keterampilan manajemen data Anda semakin lengkap.