Impor File CSV Dengan phpMyAdmin

Hi sobat….

Pada kesempatan kali ini kita akan membahas mengenai cara impor  file csv dengan phpMyAdmin. Terdapat beberapa langkah yang perlu kita lakukan  agar proses impor dapat berjalan dengan baik.

1. Buka halaman impor pada phpMyAdmin

Buka phpMyAdmin, pilih database dan tabel yang ingin kita isi datanya, setelah itu klik import pada menu bagian atas, seperti tampak pada gambar berikut:

halaman_impor_pada_phpmyadmin

Gambar 1. Halaman Impor Pada phpMyAdmin

Pada halaman tersebut, pastikan beberapa hal berikut ini terpenuhi:

  • Perhatikan ukuran maksimal file yang dapat kita upload, pada contoh gambar diatas adalah 64Mb, jika file yang akan kita upload melebihi ukuran  tersebut, maka perlu kita ubah setting pada file  php.ini yang berada pada folder php, cari bagian post_max_size = dan  upload_max_filesize = , ubah angkanya melebihi file yang kita upload, misal: 128M atau 256M, kemudian restart server (apache) dan lihat kembali pada halaman  import apakah angkanya sudah berubah, jika sudah kita dapat lanjut ke tahap berikutnya.
  • Pastikan terdapat pilihan CSV dan CSV using LOAD DATA pada bagian Format, seperti tampak pada gambar berikut:
    import_file_csv_menggunakan_load_data

    Gambar 2. Impor File CSV Dengan Format CSV atau CSV using Load Data

    jika tidak ada pilihan CSV using LOAD DATA kemungkinan kita belum memilih tabel.

2. Pilih Format yang diinginkan: CSV atau CSV Using LOAD DATA

Selanjutnya pilih format yang diinginkan apakah menggunakan CSV atau CSV using LOAD DATA. Perlu diperhatikan bahwa kedua pilihan tersebut  memiliki perbedaan yang signifikan, diantaranya:

CSV

Pada format  csv, file akan diupload ke server dan diparse baris demi baris oleh phpMyAdmin untuk disusun sedemikian rupa sehingga dapat  dimasukkan kedalam database dengan statement INSERT, karena menggukan statement insert, maka lamanya proses akan sangat tergantung pada banyaknya data, bisa jadi sangat lama. Cara ini memiliki beberapa kelemahan, sehingga jarang digunakan (saya pribadi), diantaranya:

  1. Cukup strict misal terkadang muncul error: Invalid column count in CSV input on line 7502. Error ini terjadi jika jumlah kolom pada file csv tidak sama  dengan jumlah field pada tabel, atau kita salah menentukan field separatornya, misal: yang seharusnya koma (,) kita tulis titik koma (;).  Pada contoh error tersebut, data csv line 1 s.d 7501 sudah disimpan  ke database, sehingga untuk mengulanginya, tabel harus kita kosongkan terlebih dahulu.
  2. Untuk file yang berukuran besar kadang muncul pesan error:  Fatal error: Maximum execution time of 300 seconds exceeded in E:xampp-1.8.3.2htdocsphpMyAdmin4.5librariesimport.lib.php on line 913 yang disebabkan waktu eksekusi script PHP terlalu lama, dan bagian Partial Import tidak kita centang.
  3. Muncul error “Script timeout passed, if you want to finish import, please resubmit the same file and import will resume.” error tersebut muncul karena:
    • jumlah yang diimport sangat banyak sehingga sehingga melebihi batas waktu exkekusi script (300s)
    • dan bagian Partial Import tidak kita centang

    jika kita  klik link resubmit the same file, phpMyAdmin akan meneruskan meload baris berikutnya, contoh kita meload file csv sebanyak 533.008 baris, dengan kolom sebanyak 23, script berhenti di  baris  240.795, setelah dilanjutkan, berhenti sampai 496.396 baru setelah proses ketiga, data dapat diload semuanya.

CSV using LOAD DATA

Cara kedua ini lebih cepat dan simpel karena murni menggunakan query MySQL Load Data. Pada cara ini phpMyAdmin hanya memfasilitasi saja, yaitu dengan mengupload file .csv kemudian menjalankan query LOAD DATA, sehingga parsing file csv dan insert ke database dikerjakan oleh MySQL, alhasil waktu yang diperlukan lebih  cepat, contoh file csv sebanyak 533.008 baris, cukup diload sekali saja.

Karena LOAD LOCAL ini murni query MySQL, kiata dapat menjalankannya dimana saja, seperti script php yang kita buat sendiri atau lewat command line.

3. Isikan parameter yang ada

Selanjutnya isikan parameter yang ada, yaitu:

  1. Columns separated with: isikan tanda pemisah kolom, biasanya koma atau titik koma, atau biarkan apa adanya, jika data tidak terload ganti dengan koma atau titik koma.
  2. Columns enclosed with: isikan tanda penutup kolom (jika ada) biasanya satu tanda kutip atau dua tanda kutip, atau biarkan apa adanya.
  3. Columns escaped with: isikan jika ada tanda escape, atau biarkan apa adanya.
  4. Lines terminated with: isikan tanda pemisah baris, tanda ini dapat berupa r, n atau rn atau biarkan apa adanya (auto), phpMyAdmin akan otomatis menentukannya untuk kita. Untuk lebih memahami tanda ini dapat membaca artikel:  Membuat Baris Baru Lintas Platform Dengan PHP
  5. Column names: isikan jika urutan data pada file csv tidak sama dengan urutan pada field tabel. Isian nama field harus dipisahkan dengan koma tanpa tanda kutip, misal: id_produk, nama_produk, id_user, kategori

untuk memastikan parameter terisi dengan benar, jika memungkinkan terlebih dahulu buka file csv yang ingin kita impor  dengan text editor seperti notepad atau notepad++ dan perhatikan tanda yang ada, seperti contoh pada gambar berikut:

preview_file_csv

Gambar 3. Preview File CSV

Keterangan gambar diatas: nomor 1:  Columns separated with, nomor 2:  Columns enclosed with, nomor 3:  Columns escaped with

4.  Jalankan Import

Setelah parameter diatas terpenuhi, klik GO untuk memulai melakukan import, tunggu beberapa saat hingga proses selesai, jika menggunakan Format: CSV, maka phpMyAdmin akan menginformasikan jumlah baris  yang berhasil di load dengan pesan:

Import has been successfully finished, 66626 queries executed. (produk.csv)

sedangkan  jika kita menggunakan Format: CSV using LOAD DATA maka phpMyAdmin akan menampilkan pesan sebagai berikut:

Import has been successfully finished, 1 queries executed. (produk.csv)

LOAD DATA INFILE 'E:\xampp\tmp\php3555.tmp' INTO TABLE `produk` FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\' LINES TERMINATED BY 'rn'# 66626 rows affected.

dari query diatas dapat diketahui bahwa data berhasil dimasukkan sebanyak 66626, untuk memastikan data yang masuk sudah sesuai dengan yang diinginkan, tamplikan data tersebut dengan meng klik browse pada menu yang ada di sebelah atas.

Demikian tutorial cara mengimpor file csv dengan phpMyAdmin, semoga dapat bermanfaat.

 

 

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.

18 Feedback dari pembaca

Silakan tinggalkan komentar

Newsletter

Jadilah yang pertama tahu berita terbaru dari Jagowebdev.com