Pendahuluan
Hanya sejumlah aplikasi yang membaca tabel MySQL mentah. File CSV jauh lebih mungkin untuk bekerja dengan aplikasi database yang berbeda. CSV adalah format standar untuk database di mana koma membedakan nilai dari baris dan kolom yang berbeda. Manfaat tambahan dari file CSV adalah dapat dibaca oleh manusia.
Panduan mendetail ini akan menunjukkan cara mengekspor database MySQL ke file CSV.
Prasyarat
- Akses ke baris perintah/jendela terminal
- Akun pengguna dengan hak akses root atau sudo
- Akun pengguna MySQL dengan hak akses root
- Akun phpMyAdmin yang telah dikonfigurasi sebelumnya (opsional)
Ekspor MySQL ke CSV dengan phpMyAdmin
Alat phpMyAdmin menyediakan antarmuka grafis untuk mengelola database MySQL Anda. Anda dapat menggunakannya untuk mengekspor database yang dilacak ke file CSV.
- Mulai dengan masuk ke phpMyAdmin.
- Selanjutnya, klik Database tombol di spanduk atas.
- Pada daftar Basis Data, klik tautan ke basis data yang ingin Anda ekspor. Dalam contoh ini, kami memilih pengguna basis data.
- Layar berikutnya menampilkan daftar tabel dalam database tersebut. Centang kotak untuk tabel yang ingin Anda ekspor.
- Klik Ekspor tombol pada spanduk.
- Keluar dari Metode ekspor tetapkan apa adanya. Gunakan Format menu tarik-turun untuk memilih CSV, lalu klik Buka .
- Sebuah kotak dialog meminta untuk menentukan lokasi di mana Anda ingin menyimpan file CSV.
Ekspor dari MySQL ke CSV Menggunakan Command Line
Anda dapat melakukan ekspor tanpa embel-embel dengan memilih semua data dalam tabel, dan menentukan lokasi untuk menyimpannya.
Mulailah dengan membuka shell MySQL, lalu beralih ke database yang ingin Anda ekspor.
Masukkan pernyataan berikut:
SELECT * FROM myTable
INTO OUTFILE '\tmp\myExportFile.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ';'
ESCAPED BY '"'
LINES TERMINATED BY '\r\n';
Ganti myTable
dengan nama sebenarnya dari tabel dari database Anda. Anda dapat mengganti \tmp\myExportFile.csv
dengan nama file atau lokasi lain. Pastikan untuk menyimpan .csv
nama file di akhir.
Opsi Tambahan untuk Mengekspor dari MySQL
Untuk menentukan set data individual yang akan diekspor dari tabel:
SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
Ganti column1
(dan sisanya) dengan nama sebenarnya dari kolom yang ingin Anda ekspor. Pastikan untuk menggunakan FROM
perintah untuk menentukan tabel tempat Anda mengekspor. WHERE
pernyataan adalah opsional, dan memungkinkan mengekspor hanya baris yang berisi nilai tertentu. Ganti value
dengan nilai aktual yang ingin Anda ekspor. Misalnya:
SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
Ekspor dan File CSV Stempel Waktu
Gunakan perintah berikut untuk mengekspor ke file CSV, dan tambahkan stempel waktu untuk waktu pembuatan file:
SET @TS = DATE_FORMAT(NOW(),'_%Y_%m_%d_%H_%i_%s');
SET @FOLDER = '\tmp';
SET @PREFIX = 'myTable';
SET @EXT = '.csv';
SET @CMD = CONCAT("SELECT * FROM myTable INTO OUTFILE '",@FOLDER,@PREFIX,@TS,@EXT,
"' FIELDS ENCLOSED BY '\"'
TERMINATED BY ';'
ESCAPED BY '\"'","
LINES TERMINATED BY '\r\n';");
PREPARE statement FROM @CMD;
EXECUTE statement;
Seperti biasa, ganti myTable
dengan nama sebenarnya dari tabel yang Anda ekspor.
Ekspor dengan Header Kolom
Gunakan UNION
pernyataan untuk menambahkan header kolom ke file yang diekspor:
(SELECT 'column1','column2','column3','column4')
UNION
(SELECT column1, column2, column3, column4
FROM myTable
INTO OUTFILE '\tmp\myExportFile.csv'
FIELDS ENCLOSED BY '"' TERMINATED BY ';' ESCAPED BY '"'
LINES TERMINATED BY '\r\n')
Berurusan dengan Nilai NULL
Jika ada nilai null (kosong) dalam database, proses ini akan mengekspornya sebagai huruf N
. Anda dapat mengganti NULL
nilai dengan string teks lain yang lebih masuk akal:
SELECT column1, column2, IFNULL(column3, 'N/A')
FROM myTable INTO OUTFILE '\tmp\myExportFile.csv'
FIELDS ENCLOSED BY '"'
TERMINATED BY ';'
ESCAPED BY '"' LINES
TERMINATED BY '\r\n');
Dalam hal ini, IFNULL
perintah mencari nilai kosong di column3
. Saat ditemukan, ia menggantinya dengan string teks N/A
.
Ekspor MySQL ke CSV Menggunakan mysqldump
Anda dapat menggunakan mysqldump aplikasi untuk mengekspor database MySQL Anda ke file CSV. Masukkan yang berikut ini ke dalam prompt perintah:
mysqldump --tab=/var/lib/mysql-files/ --fields-enclosed-by='"' --fields-terminated-by=',' --lines-terminated-by='\n' myTable
Perintah ini membuat salinan database myTable
di /var/lib/mysql-files
.
Ekspor MySQL ke CSV Menggunakan CSV Engine
Dalam beberapa kasus, Anda dapat menggunakan mesin CSV di MySQL untuk mengubah tabel. Metode ini tidak akan berfungsi jika tabel MySQL memiliki indeks, atau jika tabel menggunakan auto_increment . Gunakan perintah berikut:
ALTER TABLE myTable ENGINE=CSV;
Pernyataan ini mengubah format database menjadi CSV. Anda kemudian dapat menyalin file CSV ke sistem lain.