PostgreSQL

PostgreSQL JSONB Vrsta podatkov in funkcije

PostgreSQL JSONB Vrsta podatkov in funkcije

Kot v 9.Različica 2 je PostgreSQL dodal precej osnovni podatkovni tip JSON. Pod naslovnico je vrsta podatkov JSON besedilo, pri čemer je treba preveriti, ali je postavitev morda pravilna, vnos JSON podoben XML. Sčasoma je ekipa ugotovila, da bi bilo obseg obdelave JSON in specializiranega iskanja, potrebnega v PostgreSQL, težko ali racionalno uveljaviti nad besedilno vrsto podatkov. Zato so ustvarili binarno predstavitev podatkovnega tipa JSON s celotno paleto operaterjev in metod. Tu je vrsta podatkov JSONB. Podatkovni tip JSONB je resnično vsestranska postavitev binarnega shranjevanja s popolno obdelavo, indeksiranjem in iskanjem. Kot rezultat, podatke JSON vnaprej obdela v notranjo postavitev, ki ima samo eno vrednost na ključ in ignorira dodatni presledek ali depresijo, lahko pa pravite tudi zamik. V tem priročniku boste izvedeli, kako uporabljati obrazec za podatke JSONB v PostgreSQL, pa tudi nekatere priročne operaterje in metode za obdelavo podatkov JSONB.

Podatkovni tip, ki ga boste najverjetneje potrebovali in se boste odločili za uporabo, je JSONB in ​​ne zgodnja različica JSON, ki se uporablja samo za povratno združljivost. Torej, odprite ukazno lupino PostgreSQL in vnesite imena strežnika, bazo podatkov, vrata in uporabniško ime.

Primer 01:

Tu je kratka ilustracija sprememb med obema vrstama podatkov. Ustvariti moramo tabelo 'Novo', pri čemer mora biti njen stolpec podatkovni tip 'JSON', kot sledi:

>> USTVARI TABELO Novo (ID serijski PRIMARNI KLJUČ, Val JSON);

V stolpec 'Val' vstavite nekaj vrednosti.

>> VSTAVITE V NOVE (Val) VREDNOSTI ('[1, 2, 3, 4]'), ('[10, 11, 12, 13]'), ('"ključ": "vrednost"') ;

Uporaba operaterja '@>'

Ko poskusimo poiskati vnose s celim številom na seznamu stolpcev 'extra', vedno dobimo sporočilo o napaki, kot je priloženo spodaj.

>> SELECT * FROM New WHERE Val @> '11';

Da. JSON je samo besedilo in ni zelo učinkovit ter ne vsebuje konfiguracije operaterja. Naj se vsebina spremeni v jsonb.

>> ALTER TABLE Nov ALTER STOLPEC Val TIP JSONB;

Zdaj izvedite isto poizvedbo v lupini in rezultat prikazuje eno vrstico s številko '11' v svoji matriki, kot je navedeno spodaj.

>> SELECT * FROM New WHERE Val @> '11';

Primer 02:

Naredimo tabelo "Torba", ki bo uporabljena v naših ilustracijah, dokler ne začnemo govoriti o metodah in operaterjih, uporabnih za podatkovni tip PostgreSQL JSONB. Eden od stolpcev, npr.g. „Znamka“ mora biti podatkovni tip „JSONB“, kot sledi:

>> Ustvari torbo za mizo (ID serijski PRIMARNI KLJUČ, znamka JSONB NOT NULL);

Za dodajanje informacij v tabelo PostgreSQL 'Bag' bomo uporabili naslednjo izjavo SQL INSERT:

>> VSTAVITE V VREDNOST vrečke (blagovne znamke) ('"ime": "Gucci", "barva": ["rdeča", "črna"], "cena": 10000, "prodano": res,]') , ('"name": "Allure", "color": ["red", "Gray"], "price": 85000, "sold": false,]'), ('"name": "Kidza", "color": ["black", "white"], "price": 75000, "sold": true,] ');

Vidite lahko, da so bili podatki dodani v obliki slovarja, npr.g., tipke in vrednosti.

Elemente te tabele "Torba" si lahko ogledate s stavkom SELECT, kot je prikazano spodaj:

>> IZBERI * IZ Torbe;

Uporaba operaterja '->'

Poiščimo vrednosti v stolpcu 'Blagovna znamka' s pomočjo ključa 'ime' z uporabo operatorja '->' v naši poizvedbi.  Iz stolpca "Znamka" bo zajel vse zapise ključa "ime". Rezultat bo prikazan v novem stolpcu "blagovna znamka". Končni rezultat bo prikazan, kot je priložen spodaj. Kot lahko vidite, imamo tri vrednosti: 'Gucci, Allure, kidza' za ključ 'ime'.

>> IZBERITE blagovno znamko -> 'ime' KOT blagovna znamka IZ torbe;

Uporaba operaterja '->', ki uporablja stavek WHERE

Pridobimo vse tiste vrstice iz tabele 'Torba', kjer ima stolpec 'Znamka' vrednost 'true' za svoj ključ 'prodano'. Poizvedba za ta izbor je naslednja:

>> SELECT * FROM Bag WHERE Blagovna znamka -> 'sold' = 'true';

Tam vidite, poizvedba je prinesla dve vrstici samo iz tabele 'Torba', ker ima samo dve vrstici vrednost 'true' za ključ 'prodano'.

PostgreSQL JSONB funkcije:

Z informacijami JSONB se zdi, da je mogoče uporabiti različne vgrajene metode. Oglejmo si jih enega za drugim.

JSONB Vsaka funkcija:

JSONB Vsaka funkcija sprejme podatke in jih pretvori v par key_value. Upoštevajte naslednjo poizvedbo metode jsonb_each, kjer smo podali vrednosti. Podatki JSON na najvišji ravni se v izidu razširijo v vrsto kombinacij ključ-vrednost. Imamo dva para ključ-vrednost, kot je prikazano spodaj.

>> IZBERI jsonb_each ('"name": "Allure", "sold": "true"' :: jsonb);

Funkcija tipk objekta JSONB:

Zdaj si bomo ogledali funkcijo Jsonb_object_keys. Ta funkcija zajema podatke in sama ločuje in identificira ključne vrednosti v njih. Preizkusite spodnjo poizvedbo SELECT, pri kateri smo uporabili metodo jsonb_object_keys in podali nekaj vrednosti. Ta metoda vrne ključe dokumenta JSON najvišje ravni za določene podatke, kot je prikazano spodaj.

>> SELECT jsonb_object_keys ('"name": "kidza", "sold": "true"' :: jsonb);

Funkcija poti ekstrakta JSONB:

Funkcija JSONB Extract Path zavzame pot za prikaz vrednosti v izidu. Preizkusite spodnjo poizvedbo v ukazni lupini, kjer smo kot pot do metode JSONB jsonb_extract_path navedli 'brand'. Iz izhoda, predstavljenega na spodnji sliki, lahko vidite, da je 'Gucci' vrnjena vrednost poti 'ime'.

>> IZBERITE jsonb_extract_path ('"name": "Gucci", "sold": true' :: jsonb, 'name');

JSONB Precej funkcija:

Če želite datoteke JSON prikazati z lahko berljivo postavitvijo, je najboljša možnost funkcija JSONB Pretty. Preizkusite spodnjo poizvedbo in dobili boste preprost izhod.

>> IZBERITE jsonb_pretty ('"name": "Allure", "sold": false' :: jsonb);

Zaključek:

Ko shranite podatke JSONB v zbirke podatkov PostgreSQL, dobite najboljši možen rezultat: enostavnost in zanesljivost baze podatkov NoSQL v kombinaciji s prednostmi relacijske baze podatkov. Z uporabo številnih operaterjev in metod smo pokazali, kako uporabljati PostgreSQL JSONB. S podatki JSONB boste lahko delali z uporabo naših ilustracij kot referenco.

Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...