Output mysql ke csv dengan header

Hanya sejumlah kecil 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

Guide on how to export a table from MySQL to a CSV file.

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 basis data yang dilacak ke file CSV

  1. Mulailah dengan masuk ke phpMyAdmin
  2. Selanjutnya, klik tombol Database di spanduk atas

Database tab in Myphpadmin tool.

  1. Pada daftar Basis Data, klik tautan ke basis data yang ingin Anda ekspor. Dalam contoh ini, kami memilih database pengguna

Select a database that contains the tables for the csv files.

  1. Layar berikutnya menampilkan daftar tabel dalam database itu. Centang kotak untuk tabel yang ingin Anda ekspor
  2. Klik tombol Ekspor di spanduk

The location of the export button on myphpadmin interface.

  1. Biarkan metode Ekspor tetap apa adanya. Gunakan menu tarik-turun Format untuk memilih CSV, lalu klik Buka

Select CSV from dropdown and click Go.

  1. Kotak dialog meminta untuk menentukan lokasi tempat menyimpan file CSV

A prompt allowing you to save file in CSV format

Ekspor dari MySQL ke CSV Menggunakan Baris Perintah

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 tabel sebenarnya dari database Anda. Anda dapat mengganti \tmp\myExportFile.csv dengan nama file atau lokasi lain. Pastikan untuk menyimpan 

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
0 nama file di bagian akhir

Catatan. Contoh ini menggunakan lokasi file Linux. Jika Anda bekerja di Windows, Anda dapat menggunakan

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
1 untuk lokasi file Anda

Opsi Tambahan untuk Mengekspor dari MySQL

Untuk menentukan set data individual untuk diekspor dari tabel

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
_

Ganti

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
2 (dan lainnya) dengan nama sebenarnya dari kolom yang ingin Anda ekspor. Pastikan untuk menggunakan perintah
SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
_3 untuk menentukan tabel asal ekspor Anda. Pernyataan
SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
4 bersifat opsional, dan hanya mengizinkan ekspor baris yang berisi nilai tertentu. Ganti
SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
_5 dengan nilai aktual yang ingin Anda ekspor. Misalnya

SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
_

Catatan. Klausa

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
4 dapat berguna untuk memfilter hasil

Ekspor dan Berkas CSV Timestamp

Gunakan perintah berikut untuk mengekspor ke file CSV, dan tambahkan stempel waktu saat file dibuat

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

Catatan. Anda mungkin memperhatikan perintah

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
8 di dalam tanda kurung. Kami telah membungkus perintah dalam fungsi yang menambahkan stempel waktu

Ekspor dengan Tajuk Kolom

Gunakan pernyataan

SELECT column1, column2, column3, column4
FROM myTable
WHERE column2 = 'value';
_9 untuk menambahkan tajuk 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 mengekspornya sebagai huruf

SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
0. Anda dapat mengganti nilai
SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
1 dengan rangkaian 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, perintah

SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
2 mencari nilai kosong di
SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
3. Saat menemukannya, ia menggantinya dengan string teks
SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
4

Ekspor MySQL ke CSV Menggunakan mysqldump

Anda dapat menggunakan aplikasi mysqldump untuk mengekspor database MySQL ke file CSV. Masukkan yang berikut 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

SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
6

Catatan. Akun pengguna Anda harus memiliki hak istimewa untuk mengakses direktori tempat file CSV disimpan. Anda dapat menyimpan ke jalur yang berbeda, tetapi itu harus jalur yang akses penuhnya dimiliki oleh MySQL

Ekspor MySQL ke CSV Menggunakan Mesin CSV

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

Kesimpulan

Anda sekarang memiliki empat cara untuk mengekspor database MySQL Anda ke file CSV. Jika Anda memiliki akses ke phpMyAdmin, ini adalah alat yang paling mudah diakses untuk digunakan

Jika Anda bekerja dari antarmuka baris perintah, perintah

SELECT order_date, order_number, order_status
FROM current_orders
WHERE order_status='pending';
7 adalah metode yang paling andal. Pada konfigurasi tertentu, CSV Engine atau metode mysqldump juga dapat menghemat banyak waktu

Sekarang setelah Anda mengetahui cara mengekspor database MySQL ke file CSV, langkah selanjutnya adalah mempelajari cara mengimpor CSV ke database MySQL

Bagaimana cara menyimpan hasil SQL ke CSV dengan header?

Untuk mengekspor dengan header. .
Buat kosong. csv di komputer Anda
Di SQL Server Management Studio, setelah Anda menjalankan kueri, buka tab Hasil
Klik kanan kumpulan hasil dan klik Pilih Semua. .
Klik kanan kumpulan hasil lagi dan klik Salin dengan Header
Rekatkan konten yang disalin ke dalam

Bagaimana saya bisa menampilkan hasil kueri MySQL dalam format CSV?

Ekspor Tabel ke Format CSV Menggunakan MySQL Workbench .
Jalankan pernyataan/kueri dan dapatkan set hasilnya
Kemudian, di panel hasil, klik opsi "export recordset to an external file". Recordset digunakan untuk result set
Terakhir, kotak dialog baru akan ditampilkan. Di sini, kita perlu memberikan nama file dan formatnya

Bagaimana cara membuang tabel MySQL ke file csv?

Masuk ke phpMyAdmin menggunakan pengguna yang memiliki izin yang diperlukan. Arahkan ke database yang berisi tabel sumber seperti yang ditunjukkan
Pilih tabel dari database. Klik Ekspor di bilah atas
Pilih format CSV dari menu tarik-turun format. Klik Mulai

Bagaimana cara menyimpan hasil kueri MySQL ke dalam file CSV lokal?

menggunakan perintah insert. pilih untuk membuat tabel "hasil". Skenario ideal adalah membuat bidang dari tabel hasil ini secara otomatis, tetapi ini tidak mungkin dilakukan di mysql. membuat koneksi ODBC ke database. gunakan akses atau excel untuk mengekstrak data dan kemudian simpan atau proses sesuai keinginan Anda