ffCCBot/2.0 (http://commoncrawl.org/faq/)
NEW!! Buku Query MySQL Lihat Detail » x

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.

 

 

Recomended Post

4 Feedback dari pembaca

Silakan tinggalkan komentar

*

Like Us

Dapatkan update artikel terbaru via E-Mail
  1. Query MySQL di Dalam PHP Loop – Bad Practice !!!

  2. Software Kompres dan Optimasi Gambar / Foto (JPG dan PNG) – Tested

  3. 40+ Theme WordPress Gratis Untuk Blog – Modern & Responsive

  4. Eksklusif Cheat Sheet PHP Bahasa Indonesia – Pendamping Belajar PHP

  5. PHP FORM III: Menampilkan Data MySQL Dengan PHP dan Form HTML

  6. Tutorial PHP Form II: Menampilkan Hasil Input Form HTML dengan PHP

  7. Tutorial PHP Form I: Menghubungkan Form HTML dengan PHP

  8. Menampilkan Data Dari Beberapa Tabel MySQL – JOIN Pada MYSQL

  9. Memahami dan Menampilkan Tanggal dan Waktu Pada PHP

  10. Menghitung Selisih Waktu Dengan PHP – Cara Termudah