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 (tanpaCREATE 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:
Format | Tool/Query | Keterangan |
SQL | mysqldump / mysql | Cocok untuk backup & restore |
CSV | SELECT INTO OUTFILE | Cocok untuk export sederhana |
CSV | LOAD DATA INFILE | Cocok untuk import dari file |
GUI | MySQL Workbench | Cocok untuk pengguna non-teknis |
Dengan memahami fitur ini, Anda akan lebih siap melakukan migrasi, backup, dan integrasi data ke sistem lainnya.