Cara mengekspor tabel ke CSV di MySQL

Cara mengekspor tabel ke CSV di MySQL

File CSV adalah format file teks yang sangat umum yang didukung oleh banyak aplikasi. Bentuk lengkap CSV adalah Nilai yang Dipisahkan Koma. Itu berarti data dipisahkan dengan koma di setiap baris file ini. Ini terutama digunakan untuk bertukar data tabular antara berbagai jenis aplikasi yang mendukung format file ini. XML adalah format file lain yang biasa digunakan untuk pertukaran data antar aplikasi. Tetapi file CSV adalah pilihan yang lebih baik daripada file XML, karena membutuhkan lebih sedikit ruang dan bandwidth daripada file XML. Anda perlu mengekspor data dalam format CSV dari satu aplikasi sebelum mengimpor data ke aplikasi lain. MySQL mendukung berbagai cara untuk mengekspor data dari tabel database. Format CSV adalah salah satu caranya. Artikel ini menunjukkan berbagai cara untuk mengekspor data dalam format CSV dari tabel database MySQL.

Prasyarat:

Sebelum menjalankan pernyataan ekspor apa pun, Anda harus membuat database dan tabel baru atau memilih database dan tabel yang sudah ada. Jalankan perintah berikut untuk membuatlibrary database dan tiga tabel bernama books, borrowers dan book_borrow_info.

CREATE DATABASE library;
USE library;

CREATE TABLE books (
id INT NOT NULL AUTO_INCREMENT,
title varchar(50) NOT NULL,
author varchar(50) NOT NULL,
publisher varchar(50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE borrowers (
id VARCHAR(50) NOT NULL,
name varchar(50) NOT NULL,
address varchar(50) NOT NULL,
email varchar(50) NOT NULL,
PRIMARY KEY (id)
);

CREATE TABLE book_borrow_info (
borrow_id VARCHAR(50),
book_id INT,
borrow_date DATE NOT NULL,
return_date DATE NOT NULL,
status VARCHAR(15) NOT NULL,
INDEX par_ind (book_id),
PRIMARY KEY (borrow_id, borrow_date),
FOREIGN KEY (book_id) REFERENCES books(id)
ON DELETE CASCADE
ON UPDATE CASCADE );

Jalankan perintah SQL berikut untuk menyisipkan beberapa data ke dalam tiga tabel.

INSERT INTO books VALUES
(NULL, 'To Kill a Mockingbird', 'Harper Lee', 'Grand Central Publishing'),
(NULL, 'One Hundred Years of Solitude', 'Garcia Marquez', 'Lutfi Ozkok'),
(NULL, 'Invisible Man', 'Ralph Ellison', 'Encyclopadeia Britannica, Inc.');

INSERT INTO borrowers VALUES
('123490', 'Patrick Wood', '34 West Street LANCASTER LA14 9ZH', '[email protected]'),
('157643', 'Ezra Martin', '10 Grove BIRMINGHAM B98 1EU', '[email protected]'),
('146788', 'Frederick Hanson', '85 Highfield Road SHREWSBURY SY46 3ME',
'[email protected]');

INSERT INTO book_borrow_info VALUES
('123490', 1, '2020-02-15', '2020-02-25', 'Returned'),
('157643', 2, '2020-03-31', '2020-03-10', 'Pending'),
('146788', 3, '2020-04-10', '2020-01-20', 'Borrowed');

Setiap file yang diekspor disimpan di lokasi tertentu di MySQL dan lokasi tersebut disimpan dalam variabel, “secure_file_priv“. Jalankan perintah berikut untuk mengetahui path file. Ini adalah variabel read-only yang tidak dapat Anda ubah.

SHOW VARIABLES LIKE "secure_file_priv";

Lokasi filenya adalah ‘/var/lib/mysql-files/’. Anda harus menggunakan lokasi ini pada saat menjalankan perintah ekspor.

Ekspor data dalam format CSV menggunakan pernyataan INTO OUTFILE:

Tabel database apa pun dapat diekspor dengan menggunakan INTO OUTFILEpenyataan. Misalkan, saya ingin mengekspor data daribooksmeja. Jalankan perintah berikut untuk memeriksa data yang ada dari tabel ini.

SELECT * FROM books;

Nama file apa saja dengan .csvekstensi dapat diatur untuk nama file ekspor. Jalankan perintah ekspor berikut untuk membuatbooks.csv berkas di lokasi,/var/lib/mysql-files/.

SELECT title, author, publisher FROM books INTO OUTFILE '/var/lib/mysql-files/books.csv';

Buka lokasi ekspor untuk memeriksa file dibuat di not. Klik pada file untuk menampilkan isi file. Jika koma ada sebagai konten nilai bidang apa pun dari tabel, maka koma akan memisahkan nilai menjadi beberapa nilai. Dalambooks meja, publisherbidang berisi koma (,) sebagai konten dalam catatan ketiga. Jika Anda memeriksa konten file CSV, Anda akan melihat bahwa konten penerbit dipisahkan menjadi dua nilai yang tidak sesuai.

Untuk mengatasi masalah di atas, Anda dapat mengekspor bookstabel data ke dalam file CSV dengan menentukan pembatas yang diperlukan dengan benar dalam pernyataan SQL. Jalankan perintah berikut untuk mengeksporbooks meja ke dalam books2.csvmengajukan dengan tepat. Di sini, tiga pembatas digunakan untuk mengekspor data dengan benar. Ini adalahFIELDS TERMINATED BY, ENCLOSED BY dan LINES TERMINATED BY.

SELECT title, author, publisher FROM books
INTO OUTFILE '/var/lib/mysql-files/books2.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY 'n';

Sekarang, jika Anda membuka books2.csv file maka Anda akan melihat masalah sebelumnya diselesaikan dalam file ini dan data akan koma (,) tidak dibagi menjadi beberapa nilai.

Ekspor data dalam format CSV menggunakan client mysql:

Data tabel dapat diekspor ke file CSV dengan menggunakan client mysql. Tabel peminjam diekspor di bagian artikel ini. Jalankan perintah berikut untuk memeriksa konten yang ada dari tabel ini.

SELECT * FROM borrowers;

pernyataan mysql dengan`sed` perintah digunakan di sini untuk mengekspor data. Salah satu manfaat dari pernyataan ini adalah Anda dapat mengatur lokasi dan nama file apa pun untuk menyimpan file CSV tanpa lokasi default yang digunakan pada contoh sebelumnya. Jika tidak ada password untuk user root, maka-popsi akan dihilangkan. Lokasi yang diekspor adalah/tmp dan nama filenya adalah output.csv di sini.

mysql -h localhost -u root -p -e 'select * from library.borrowers' | 
sed 's/t /,/g' > /tmp/output.csv

Jika Anda membuka output.csv file maka akan muncul output sebagai berikut.

Ekspor data dalam format CSV menggunakan phpmyadmin:

Tabel database dapat diekspor ke file CSV dengan sangat mudah dengan menggunakan alat administrasi database apa pun. Anda harus menginstal alat sebelum melakukan ekspor.phpmyadmin digunakan di sini untuk mengekspor tabel ke dalam file CSV. Di sini, nama file yang diekspor akan menjadi nama tabel. Jalankan URL berikut di browser apa pun untuk menampilkan daftar database server MySQL yang ada.

http://localhost/phpmyadmin

Pilih tabel database yang ingin Anda ekspor dan klik tombol Exporttab dari sisi kanan. Pilih format CSV dariFormat daftar drop-down dan klik pada the Gotombol. PilihSave File pilihan dan tekan the OK tombol.


File akan didownload di Downloadsmap. Di Sini,book_borrow_infotabel diekspor. Jadi, nama file CSV adalahbook_borrow_info.csv dan konten berikut akan muncul jika Anda membuka file.

Kesimpulan:

Tugas pertukaran data antar aplikasi menjadi lebih mudah dengan menggunakan fitur ekspor database server. MySQL mendukung banyak format file lain untuk mengekspor data tabel.sqlformat file terutama digunakan untuk mentransfer data antara server database yang sama. Format CSV sangat membantu jika Anda ingin bertukar data antara dua aplikasi yang berbeda.

Related Posts