GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengekspor Tabel dari MySQL ke CSV

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.

  1. Mulai dengan masuk ke phpMyAdmin.
  2. Selanjutnya, klik Database tombol di spanduk atas.
  1. Pada daftar Basis Data, klik tautan ke basis data yang ingin Anda ekspor. Dalam contoh ini, kami memilih pengguna basis data.
  1. Layar berikutnya menampilkan daftar tabel dalam database tersebut. Centang kotak untuk tabel yang ingin Anda ekspor.
  2. Klik Ekspor tombol pada spanduk.
  1. Keluar dari Metode ekspor tetapkan apa adanya. Gunakan Format menu tarik-turun untuk memilih CSV, lalu klik Buka .
  1. 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.


Linux
  1. Cara Mengimpor Database Ekspor di MYSQL MariaDB

  2. Cara menyalin tabel dari satu database mysql ke database mysql lainnya

  3. Bagaimana saya bisa mengekspor hak istimewa dari MySQL dan kemudian mengimpor ke server baru?

  1. Cara menyalin tabel MySQL antar database

  2. Cara Memperbaiki Tabel Database Mysql yang Rusak

  3. Cara memberi makan kueri mysql dari bash

  1. Cara Membuat Database MySQL di Workbench

  2. Cara Mengekspor Tabel PostgreSQL ke CSV

  3. Bagaimana cara mengimpor file CSV ke database MySQL?