Sunday, January 30, 2011

MySQL Export to CSV

Untuk beberapa keperluan terkadang memerlukan data yang dapat diolah software spread sheet.



Data yang diolah spread sheet (Microsoft Excel & OpenOffice SpreadSheet) biasanya untuk keperluan membuat Grafik dan Statistik yang akan disajiakan dalam presentasi atau untuk analisa bisnis.

Sebagai contoh ingin melakukan export data Artikel dari sebuah table mysql agar dapat dibuka di Microsoft Excel. Berikut ini adalah cara membuatnya.

Database MySQL yang saya gunakan versi 5.1 dengan Operation System Ubuntu 11.04 - the Natty Narwhal

Apabila data Artikel dibuka pada MySQL akan tampak seperti dibawah ini


Untuk melakukan export data tersebut dapat menggunakan perintah seperti dibawah ini

Pola
[select query] OUTFILE '[alamat tujuan outfile]' FIELDS TERMINATED BY '[simbol pemisah kolom]' FROM [nama tabel];

Contoh
SELECT * INTO OUTFILE '/tmp/artikel.csv' FIELDS TERMINATED BY ';' FROM artikel;

Bila di saat melakukan outfile mengalami error seperti dibawah ini, itu mengartikan bahwa tujuan folder belum diberi akses untuk creta file.
ERROR 1 (HY000): Can't create/write to file '/tmp/artikel.csv' (Errcode: 13)

Untuk mengatasi error tersebut berikan akses untuk create file pada folder tujuan dengan permission 777 seperti contoh dibawah ini.
sudo chmod 777 tmp/

Bila proses export berhasil maka pada direktori tujuan akan terdapat file berekstensi *.csv. Kemudian buka file tersebut menggunakan Microsoft Excel atau OpenOffice SpreadSheet dan pilih delimiter kolom nya adalah semicolon ( ; ) 


Bila file .csv tersebut dibuka maka hasilnya akan tampak seperti dibawah ini.

3 comments:

  1. Mo tanya om, kalo untuk import perintahnyanya gmn?

    ReplyDelete
    Replies
    1. Cara import file *.csv ke mysql adalah sebagai berikut -> http://dendieisme.blogspot.com/2011/01/mysql-load-data-infile.html

      Delete
  2. Haloo Om, mau tanya, untuk melakukan export menggunakan perintah diatas, dan pada column mysql, ada isi Null, maka akan muncul \N, bagaimana ya mengatasi \N tsb?
    tx Om.

    ReplyDelete