Cara Export PostgreSQL ke File CSV Menggunakan Perintah COPY - Java Community

Cara Export PostgreSQL ke File CSV Menggunakan Perintah COPY

Pada tutorial kali ini saya akan menjelaskan bagaimana cara melakukan export postgres ke dalam sebuah file CSV dengan menggunakan perintah COPY.

Persiapan

Pada tahap ini kita akan membuat sebuah database dan 2(duah) buah tabel. Untuk database yang saya gunakan adalah Postgres 14 dengan port 7117.

Membuat Database

Saya akan membuat sebuah database dengan nama db_penjualan.
Buat DB
CREATEDB -U postgres -p 7117 db_penjualan;
  

Membuat Tabel

Transaksi
CREATE TABLE tbl_transaksi
(
    id bigint NOT NULL,
    kode_transaksi character varying(10) NOT NULL,
    tanggal_trasaksi date NOT NULL,
    nomor_pelanggan character varying(20),
    CONSTRAINT id_transaksi_pk PRIMARY KEY (id),
    CONSTRAINT kode_transaksi UNIQUE (kode_transaksi)
);
  
Transaksi Detail
CREATE TABLE tbl_transaksi_detail
(
    id bigserial NOT NULL,
	id_transaksi bigserial NOT NULL,
    kode_barang character varying(10) NOT NULL,
    jumlah int NOT NULL,
    harga_barang double precision,
    CONSTRAINT id_transaksi_detail_pk PRIMARY KEY (id),
    CONSTRAINT id_transaksi_fkey FOREIGN KEY (id_transaksi)
        REFERENCES tbl_transaksi (id) MATCH SIMPLE
        ON UPDATE CASCADE
        ON DELETE CASCADE
);
  
Tambah Data
INSERT INTO tbl_transaksi(id, kode_transaksi, tanggal_trasaksi, nomor_pelanggan) 
VALUES (1, 'TRX-001', '2021-03-11', 'P-101');
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (1, 1, 'A-101', 2, 10000);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (2, 1, 'A-102', 4, 15000);

INSERT INTO tbl_transaksi(id, kode_transaksi, tanggal_trasaksi, nomor_pelanggan) 
VALUES (2, 'TRX-002', '2021-03-11', 'P-102');
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (3, 2, 'AK-102', 5, 25000);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (4, 2, 'A-101', 3, 10000);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (5, 2, 'AT-103', 10, 7500);

INSERT INTO tbl_transaksi(id, kode_transaksi, tanggal_trasaksi, nomor_pelanggan) 
VALUES (3, 'TRX-003', '2021-03-11', 'P-103');
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (6, 3, 'AM-104', 5, 5400);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (7, 3, 'A-102', 2, 15000);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (8, 3, 'AK-102', 5, 25000);

INSERT INTO tbl_transaksi(id, kode_transaksi, tanggal_trasaksi, nomor_pelanggan) 
VALUES (4, 'TRX-004', '2021-03-11', 'P-104');
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (9, 4, 'A-102', 3, 15000);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (10, 4, 'A-101', 7, 10000);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (11, 4, 'AM-104', 6, 5400);
INSERT INTO tbl_transaksi_detail(id, id_transaksi, kode_barang, jumlah, harga_barang)
VALUES (12, 4, 'AK-102', 3, 25000);
  

Export PostgreSQL ke File CSV

Contoh 1
COPY tbl_transaksi TO 'D:\data-transaksi.csv' DELIMITER ';' CSV HEADER;
  
Penjelasan
Pada Contoh 1, kita melakukan export dari tabel transaksi ke file CSV (semua kolom dan data akan di export) dengan nama data-transaksi.csv yang disimpan di directory D:\.
Contoh 2
COPY tbl_transaksi(kode_transaksi, tanggal_trasaksi, nomor_pelanggan) TO 'D:\data-transaksi-2.csv' DELIMITER ';' CSV HEADER;
  
Penjelasan
Pada Contoh 2, kita melakukan export dari tabel transaksi ke file CSV (hanya kolom kode_transaksi, tanggal_trasaksi, nomor_pelanggan yang di export) dengan nama data-transaksi-2.csv yang disimpan di directory D:\.

Contoh 3
COPY (SELECT * FROM tbl_transaksi_detail WHERE id_transaksi = 4) TO 'D:\data-transaksi-detail.csv' DELIMITER ';' CSV HEADER;
  
Penjelasan
Pada Contoh 3, kita melakukan export dari query ke file CSV dengan nama data-transaksi-detail.csv yang disimpan di directory D:\.
Sekian tutorial cara melakukan export PostgreSQL ke File CSV menggunakan perintah, semoga membantu.

Subscribe to receive free email updates:

0 Response to "Cara Export PostgreSQL ke File CSV Menggunakan Perintah COPY"

Posting Komentar