Comma Separated Values atau CSV adalah suatu format data dalam basis data di mana setiap record dipisahkan dengan tanda koma (,) atau titik koma (;). Membuat file dengan ekstensi csv sangatlah mudah. Berikut ini adalah 3 langkah mudah membuat file dengan ekstensi csv: 1. buka Microsoft Excel dan buat data yang akan dijadikan file csv. Cara Membuat File Extensi csv Menggunakan Excel 2. klik File - Save as Cara Membuat File Extensi csv Menggunakan Excel 3. di Save as type:, pilih CSV (Comma delimited) (*csv), lalu klik Save
Not need to know. Artikel TerkaitBanyak cara yang dapat kita lakukan untuk memasukkan data ke database MySQLmulai dari yang berukuran kecil (terdiri dari beberapa puluh row) hingga jutaan row. Pembahasan berikut ini akan membahas salah satu dari beberapa cara untuk melakukannya. Dalam kasus ini, kita akan mengupload data dengan format csv yang berukuran ~120Mb, dengan jumlah row sebanyak 400rb an, dan dengan jumlah kolom sebanyak 36 Cara yang paling sering kita gunakan adalah upload data menggunakan phpMyAdmin. Hal tersebut menjadi tidak bermanfaat jika file yang kita upload ukurannya besar. Cara yang paling cepat adalah menggunakan syntax MySQL “LOAD LOCAL DATA INFILE” Yang perlu diperhatikan adalah MySQL akan memasukkan data sesuai dengan urutan data csv dan memasukkannya ke tabel sesuai urutan kolom, jadi misal kita punya tabel mahasiswa dengan field: Nim | Nama | Alamat | jurusan | tingkat | sks maka data file csv yang kita buat harus berurutan sesuai nilai dari field tersebut, misal: 05655458, Ahmad Mu’minun,”Jl. Patriot RT.02, RW.03, Semarang”,Informatika,2,154 Untuk membuat file csv, dapat dilakukan melalui berbagai cara diantaranya:
Selanjutnya kita jalankan query MySQL LOAD DATA INFILE. Query tersebut dapat dijalankan dengan PHP maupun command promt. Contoh dengan script php: mysql_query (" LOAD DATA LOCAL INFILE '$file_csv' INTO TABLE $nama_tabel FIELDS TERMINATED BY ',' ESCAPED BY '\' OPTIONALLY ENCLOSED BY " LINES TERMINATED BY '\n' IGNORE 1 LINES ') Penjelasan:
Pertama: kita memasukkan data apa adanya, sehingga syntax yang kita jalankan mysql_query (' LOAD DATA LOCAL INFILE 'app/files/data.csv' INTO TABLE mahasiswa FIELDS TERMINATED BY ',' ESCAPED BY '' OPTIONALLY ENCLOSED BY " LINES TERMINATED BY 'n' ') maka, hasil yang kita peroleh: Kedua: jika kita menginginkan field mana saja yang ingin kita masukkan datanya, maka kita dapat mendefinisikan field tersebut dengan cara menyebutkan field tersebut. Misal dengan tabel mahasiswa tadi, kita akan memasukkan data csv tanpa nama: '05655458,"Jl. Patriot RT.02, RW.03, Semarang",Informatika,2,154' maka syntax nya kita ubah menjadi: mysql_query (' LOAD DATA LOCAL INFILE 'app/files/data.csv' INTO TABLE mahasiswa FIELDS TERMINATED BY ',' ESCAPED BY '' OPTIONALLY ENCLOSED BY " LINES TERMINATED BY 'n' (nim, alamat, jurusan, tingkat, sks) ') hasil yang kita peroleh: Ketiga: jika kita memiliki data scv: 05655458, Ahmad Mu’minun,”Jl. Patriot RT.02, RW.03, Semarang”,Informatika,2,154 namun ingin tidak ingin memasukkan nilai nama, maka syntax kita ubah menjadi: mysql_query (' LOAD DATA LOCAL INFILE 'app/files/data.csv' INTO TABLE mahasiswa FIELDS TERMINATED BY ',' ESCAPED BY '' OPTIONALLY ENCLOSED BY " LINES TERMINATED BY 'n' (nim, @skip, alamat, jurusan, tingkat, sks) ') kita memasukkan variabel @skip yang tidak ada nilainya, untuk menggantikan column nama. Hasilnya adalah: Keempat: kita ingin memanipulasi data yang diinput. Misal kita ingin field sks dengan nilai yang diinput setengah dari sks dan untuk field semester, jika nilai semester = 2 maka field diisi duakali nilai semester. Untuk melakukan hal tersebut, kita menggunakan perintah set, sehingga scriptnya menjadi: mysql_query (' LOAD DATA LOCAL INFILE 'app/files/data.csv' INTO TABLE mahasiswa FIELDS TERMINATED BY ',' ESCAPED BY '' OPTIONALLY ENCLOSED BY " LINES TERMINATED BY 'n' set tingkat = IF(tingkat = 2, tingkat*2,tingkat), sks = sks/2 ') Hasil yang kita peroleh adalah: Menggunakan command promt: Untuk menggunakan command promp, terlebih dahulu kita perlu login ke database mysql dan memilih database yang akan kita gunakan. Rekan dapat membaca tutorial ini. jika menggunakan command promt, maka lokasi file adalah relatif pada folder dinama file mysql.exe berada, namun juga dapat ditulis absolute misal: D\:data.csv. selain itu untuk penulisan backslash (\) harus di escape sehingga penulisannya menjadi (\\). Contoh jika syntax dijalankan menggunakan command promt: Selanjutnya setelah penjelasan diatas, mari kita coba load file dengan ukuran yang lebih besar. file yang akan kita coba terdiri dari 380.000 rows dengan ukuran ~61Mb. Hasilnya sebagai berikut: dari gambar tersebut terlihat bahwa waktu yang diperlukan adalah 8.11 detik Dengan script PHP Untuk menggunakan perintah LOAD DATA LOCAL INFILE pada script PHP, caranya tinggal masukkan SQL diatas ke script PHP. Contoh sebagai berikut: mysql_query (" LOAD DATA LOCAL INFILE '$file_csv' INTO TABLE $nama_tabel FIELDS TERMINATED BY ',' ESCAPED BY '\' OPTIONALLY ENCLOSED BY " LINES TERMINATED BY '\n' IGNORE 1 LINES ')0 Demikian sekilas tentang syntax MySQL LOAD DATA INFILE, selamat mencoba….. Subscibe NowSuka 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. |