Tuesday, January 21, 2025

.::: Create table MariaDB MySQL Support JSON_OBJECT,JSON_ARRAYAGG & Output Json :::.

 

A. Create table with ouput json

1. run query to ouput JSON_OBJECT

SELECT
    JSON_OBJECT(
        'KODE_BARANG', KODE_BARANG,
        'NAMA_BARANG', NAMA_BARANG,
        'SATUAN_BARANG', SATUAN_BARANG,
        'STOK_BARANG', STOK_BARANG
    ) AS barang_json
FROM barang;

SELECT
    JSON_OBJECT(
        'KODE_CUSTOMER', KODE_CUSTOMER,
        'NAMA_CUSTOMER', NAMA_CUSTOMER,
        'ALAMAT_CUSTOMER', ALAMAT_CUSTOMER,
        'KOTA_CUSTOMER', KOTA_CUSTOMER,
        'TELEPON_CUSTOMER', TELEPON_CUSTOMER
    ) AS customer_json
FROM customer;

SELECT
    JSON_OBJECT(
            'KODE_SUPLIER', KODE_SUPLIER,
            'NAMA_SUPLIER', NAMA_SUPLIER,
            'ALAMAT_SUPLIER', ALAMAT_SUPLIER,
            'KOTA_SUPLIER', KOTA_SUPLIER,
            'TELEPON_SUPLIER', TELEPON_SUPLIER
        )
    ) AS suplier_json
FROM suplier;
 
SELECT
    JSON_OBJECT(
        'KODE_PASOK', KODE_PASOK,
        'KODE_BARANG', KODE_BARANG,
        'KODE_SUPLIER', KODE_SUPLIER,
        'TANGGAL_PASOK', TANGGAL_PASOK,
        'JUMLAH_PASOK', JUMLAH_PASOK
    ) AS pasok_json
FROM pasok;


SELECT
    JSON_OBJECT(
        'KODE_PEMBELIAN', KODE_PEMBELIAN,
        'KODE_BARANG', KODE_BARANG,
        'KODE_CUSTOMER', KODE_CUSTOMER,
        'TANGGAL_PEMBELIAN', TANGGAL_PEMBELIAN,
        'JUMLAH_PEMBELIAN', JUMLAH_PEMBELIAN
    ) AS pembelian_json
FROM pembelian;

 





2. run query to ouput JSON_ARRAYAGG

SELECT
    JSON_ARRAYAGG(JSON_OBJECT(
        'KODE_BARANG', KODE_BARANG,
        'NAMA_BARANG', NAMA_BARANG,
        'SATUAN_BARANG', SATUAN_BARANG,
        'STOK_BARANG', STOK_BARANG
    )) AS barang_jsonarr
FROM barang;

SELECT
    JSON_ARRAYAGG(JSON_OBJECT(
        'KODE_CUSTOMER', KODE_CUSTOMER,
        'NAMA_CUSTOMER', NAMA_CUSTOMER,
        'ALAMAT_CUSTOMER', ALAMAT_CUSTOMER,
        'KOTA_CUSTOMER', KOTA_CUSTOMER,
        'TELEPON_CUSTOMER', TELEPON_CUSTOMER
    )) AS customer_jsonarr
FROM customer;

SELECT
    JSON_ARRAYAGG(
        JSON_OBJECT(
            'KODE_SUPLIER', KODE_SUPLIER,
            'NAMA_SUPLIER', NAMA_SUPLIER,
            'ALAMAT_SUPLIER', ALAMAT_SUPLIER,
            'KOTA_SUPLIER', KOTA_SUPLIER,
            'TELEPON_SUPLIER', TELEPON_SUPLIER
        )
    ) AS suplier_jsonarr
FROM suplier;

SELECT
    JSON_ARRAYAGG(JSON_OBJECT(
        'KODE_PASOK', KODE_PASOK,
        'KODE_BARANG', KODE_BARANG,
        'KODE_SUPLIER', KODE_SUPLIER,
        'TANGGAL_PASOK', TANGGAL_PASOK,
        'JUMLAH_PASOK', JUMLAH_PASOK
    )) AS pasok_jsonarr
FROM pasok;


SELECT
    JSON_ARRAYAGG(JSON_OBJECT(
        'KODE_PEMBELIAN', KODE_PEMBELIAN,
        'KODE_BARANG', KODE_BARANG,
        'KODE_CUSTOMER', KODE_CUSTOMER,
        'TANGGAL_PEMBELIAN', TANGGAL_PEMBELIAN,
        'JUMLAH_PEMBELIAN', JUMLAH_PEMBELIAN
    )) AS pembelian_jsonarr
FROM pembelian;

 






B. Create table table with support JSON

1. create table ;

CREATE TABLE barang_json (
    KODE_BARANG CHAR(6) NOT NULL,
    NAMA_BARANG VARCHAR(25),
    SATUAN_BARANG VARCHAR(20),
    STOK_BARANG DECIMAL(4,0),
    INFO_JSON JSON
);

CREATE TABLE customer_json (
    KODE_CUSTOMER CHAR(6) NOT NULL,
    NAMA_CUSTOMER VARCHAR(30),
    ALAMAT_CUSTOMER VARCHAR(30),
    KOTA_CUSTOMER VARCHAR(15),
    TELEPON_CUSTOMER VARCHAR(15),
    CUSTOMER_DETAILS JSON
);

CREATE TABLE suplier_json (
    KODE_SUPLIER CHAR(5) NOT NULL,
    NAMA_SUPLIER VARCHAR(30),
    ALAMAT_SUPLIER VARCHAR(30),
    KOTA_SUPLIER VARCHAR(15),
    TELEPON_SUPLIER VARCHAR(15),
    SUPPLIER_DETAILS JSON
);

CREATE TABLE pasok_json (
    KODE_PASOK CHAR(10) NOT NULL,
    KODE_BARANG CHAR(6) NOT NULL,
    KODE_SUPLIER CHAR(5) NOT NULL,
    TANGGAL_PASOK DATE,
    JUMLAH_PASOK DECIMAL(4,0),
    PASOK_DETAILS JSON
);

CREATE TABLE pembelian_json (
    KODE_PEMBELIAN CHAR(10) NOT NULL,
    KODE_BARANG CHAR(6) NOT NULL,
    KODE_CUSTOMER CHAR(6) NOT NULL,
    TANGGAL_PEMBELIAN DATE,
    JUMLAH_PEMBELIAN DECIMAL(4,0),
    PEMBELIAN_DETAILS JSON
);

2. insert data

INSERT INTO barang_json (KODE_BARANG, NAMA_BARANG, SATUAN_BARANG, STOK_BARANG, INFO_JSON)
VALUES
('ELK-01', 'RICE COOKER', 'BUAH', 20, '{"warranty": "2 years", "brand": "ABC", "color": "red"}'),
('ELK-02', 'LEMARI ES', 'UNIT', 8, '{"warranty": "3 years", "brand": "XYZ", "energy_rating": "A+"}');

INSERT INTO customer_json (KODE_CUSTOMER, NAMA_CUSTOMER, ALAMAT_CUSTOMER, KOTA_CUSTOMER, TELEPON_CUSTOMER, CUSTOMER_DETAILS)
VALUES
('B-0001', 'TOKO WARNA', 'JL ABC 234', 'BANDUNG', '(022) 432-6635', '{"email": "tokowarna@example.com", "status": "active"}'),
('B-0002', 'TOKO SURYA', 'JL ABC 309', 'BANDUNG', '(022) 432-6024', '{"email": "tokosurya@example.com", "status": "inactive"}');

INSERT INTO suplier_json (KODE_SUPLIER, NAMA_SUPLIER, ALAMAT_SUPLIER, KOTA_SUPLIER, TELEPON_SUPLIER, SUPPLIER_DETAILS)
VALUES
('EB-01', 'PT ULTRASOUND', 'JL SUKARNO HATTA 103', 'BANDUNG', '(021) 522-3305', '{"email": "ultrasound@example.com", "rating": 4.5}'),
('EB-02', 'PT SUPERTRON', 'JL INDUSTRI 37', 'BANDUNG', '(021) 660-4091', '{"email": "supertron@example.com", "rating": 4.0}');

INSERT INTO pasok_json (KODE_PASOK, KODE_BARANG, KODE_SUPLIER, TANGGAL_PASOK, JUMLAH_PASOK, PASOK_DETAILS)
VALUES
('PSK-001', 'ELK-01', 'EB-01', '2025-01-15', 100, '{"status": "Delivered", "lokasi_pengiriman": "Gudang A"}'),
('PSK-002', 'ELK-02', 'EB-02', '2025-01-16', 150, '{"status": "In Progress", "lokasi_pengiriman": "Gudang B"}');

INSERT INTO pembelian_json (KODE_PEMBELIAN, KODE_BARANG, KODE_CUSTOMER, TANGGAL_PEMBELIAN, JUMLAH_PEMBELIAN, PEMBELIAN_DETAILS)
VALUES
('BEL-P001', 'ELK-01', 'J-0001', '2025-01-10', 3, '{"metode_pembayaran": "Transfer Bank", "status": "Selesai"}'),
('BEL-P002', 'ELK-02', 'J-0002', '2025-01-12', 5, '{"metode_pembayaran": "Tunai", "status": "Pending"}');

3. select data

select * from barang_json;
select * from customer_json;
select * from suplier_json;
select * from pasok_json;
select * from pembelian_json;

 



No comments:

Post a Comment

Popular Posts