Import dan Export Data di MySQL

Dalam manajemen database, Anda akan sering menghadapi situasi di mana perlu memindahkan data ke dan dari MySQL. Misalnya:

  • Backup dan pemulihan data.
  • Migrasi sistem.
  • Mengimpor data dari sumber eksternal (Excel, CSV, SQL file).
  • Berbagi data antar lingkungan (dev → staging → production).

MySQL menyediakan berbagai cara untuk melakukan export (ekspor) dan import (impor) data.

Export Data (Ekspor)

Export adalah proses mengambil data dari MySQL dan menyimpannya ke dalam file, biasanya dalam format SQL, CSV, atau JSON.

Export dengan mysqldump (Format SQL)

mysqldump adalah tool bawaan MySQL untuk backup/export data dalam bentuk perintah SQL.

mysqldump -u [user] -p [nama_database] > backup.sql

Contoh:

mysqldump -u root -p toko_online > toko_online_backup.sql

Hasilnya adalah file .sql yang berisi perintah CREATE TABLE dan INSERT untuk semua data dan struktur.

Export Tabel ke CSV

Jika hanya ingin mengekspor data dari satu tabel ke file .csv, gunakan query:

SELECT * FROM nama_tabel
INTO OUTFILE '/path/to/file.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

Contoh:

SELECT * FROM pelanggan
INTO OUTFILE '/var/lib/mysql-files/pelanggan.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

Catatan:

  • MySQL harus memiliki izin tulis ke direktori tujuan.
  • Default direktori untuk INTO OUTFILE biasanya /var/lib/mysql-files/ di Linux.

Import Data (Impor)

Import adalah proses memasukkan data dari file eksternal ke dalam database MySQL.

Import File SQL (Hasil dari mysqldump)

mysql -u [user] -p [nama_database] < file.sql

Contoh:

mysql -u root -p toko_online < toko_online_backup.sql

Import File CSV ke Tabel

Gunakan perintah LOAD DATA INFILE:

LOAD DATA INFILE '/path/to/file.csv'
INTO TABLE nama_tabel
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Contoh:

LOAD DATA INFILE '/var/lib/mysql-files/pelanggan.csv'
INTO TABLE pelanggan
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

IGNORE 1 LINES berguna untuk melewati baris header (judul kolom).

Import & Export dengan MySQL Workbench (GUI)

Jika Anda lebih suka tampilan grafis, MySQL Workbench menyediakan fitur:

🔸 Export:

  • Buka Workbench.
  • Pilih menu: Server > Data Export.
  • Pilih database dan tabel.
  • Pilih jenis ekspor: Struktur saja, Data saja, atau keduanya.
  • Klik Start Export.

🔸 Import:

  • Menu: Server > Data Import.
  • Pilih file .sql atau folder dump.
  • Pilih target database.
  • Klik Start Import.

Tips dan Catatan Tambahan

  • Gunakan --no-data jika hanya ingin struktur tabel (tanpa data):
mysqldump -u root -p --no-data nama_database > struktur.sql
  • Gunakan --no-create-info jika hanya ingin data (tanpa CREATE TABLE):
mysqldump -u root -p --no-create-info nama_database > data_only.sql
  • Untuk database besar, gunakan opsi kompresi:
mysqldump -u root -p nama_db | gzip > backup.sql.gz
  • Saat mengimpor file besar, pastikan konfigurasi max_allowed_packet di MySQL cukup besar.

Kesimpulan

Mengelola proses import dan export data sangat penting dalam pengelolaan database MySQL. Anda bisa menggunakan:

FormatTool/QueryKeterangan
SQLmysqldump / mysqlCocok untuk backup & restore
CSVSELECT INTO OUTFILECocok untuk export sederhana
CSVLOAD DATA INFILECocok untuk import dari file
GUIMySQL WorkbenchCocok untuk pengguna non-teknis

Dengan memahami fitur ini, Anda akan lebih siap melakukan migrasi, backup, dan integrasi data ke sistem lainnya.