PostgreSQL

PostgreSQL JSONB adattípus és függvények

PostgreSQL JSONB adattípus és függvények

Mint a 9-ben.2 verzió, a PostgreSQL egy egészen egyszerű JSON adattípust adott hozzá. A borító alatt a JSON típusú adatok szövege, annak ellenőrzésével, hogy az elrendezés talán megfelelő-e az XML-hez hasonló JSON-bemenettel. Végül a csapat megállapította, hogy a PostgreSQL-ben szükséges JSON-feldolgozás és speciális keresés mennyiségét nehéz vagy racionális volt végrehajtani egy szöveges típusú adat felett. Ezért létrehozták a JSON adattípus bináris reprezentációját az operátorok és módszerek teljes körével. Itt jön a JSONB adattípus. A JSONB adattípus valóban sokoldalú bináris tárolási elrendezés, teljes feldolgozási, indexelési és keresési képességgel. Ennek eredményeként a JSON információkat előzetesen belső elrendezésűvé dolgozza fel, amelynek kulcsonként csak egy értéke van, és figyelmen kívül hagyja a további szóközt vagy depressziót, vagy mondhatjuk, hogy behúzás. Ebben az útmutatóban megtudhatja, hogyan lehet együttműködni a PostgreSQL JSONB adatlapjával, valamint néhány praktikus operátort és módszert a JSONB adatok kezelésére.

Az adattípus, amelyre valószínűleg szüksége lesz, és választja a használatát, a JSONB, nem a JSON korai verziója, amelyet csak a visszamenőleges kompatibilitáshoz használnak. Tehát nyissa meg a PostgreSQL parancsértelmezőt, és adja meg a szerver nevét, adatbázisát, portját és felhasználónevét.

01. példa:

Íme egy rövid ábra a két adattípus közötti eltérésekről. Létre kell hoznunk egy „Új” táblázatot, amelynek egyik oszlopának „JSON” típusú adattípusnak kell lennie, az alábbiak szerint:

>> CREATE TABLE New (ID soros elsődleges kulcs, Val JSON);

Helyezzen be néhány értéket a „Val” oszlopba.

>> INSERT INTO New (Val) ÉRTÉKEK ('[1, 2, 3, 4]'), ('[10, 11, 12, 13]'), ('"kulcs": "érték" ") ;

A '@>' Operátor használata

Amint megpróbálunk egész számmal rendelkező bejegyzéseket keresni az 'extra' oszloplistában, mindig hibaüzenetet kapunk, az alábbiak szerint.

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

Igen. A JSON csak szöveg, és nem túl hatékony, és nem tartalmazza az operátor konfigurációját. Hagyja, hogy a tartalom jsonb legyen.

>> ALTER TÁBLÁZAT Új ALTER OSZLOP Val TYPE JSONB;

Most hajtsa végre ugyanazt a lekérdezést a héjban, és az eredmény azt mutatja, hogy az egyik sor a tömbben '11' számmal rendelkezik, az alábbiak szerint.

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

02. példa:

Készítsünk egy táblázatot, amelyet az ábráinkon használhatunk, amíg nem kezdünk el beszélni a PostgreSQL JSONB adattípushoz használható módszerekről és operátorokról. Az egyik oszlopa, pl.g. A „márkának” az alábbiak szerint kell lennie „JSONB” adattípus:

>> CREATE TABLE táska (ID soros elsődleges kulcs, JSONB márka NOT NULL);

A következő SQL INSERT deklarációt fogjuk használni az információk hozzáadásához a PostgreSQL 'Bag' táblázatába:

>> INSERT INTO táska (márka) ÉRTÉKEI ('"név": "Gucci", "szín": ["piros", "fekete"], "ár": 10000, "eladott": igaz,]') , ('"name": "Allure", "color": ["red", "Grey"], "price": 85000, "sold": false,]'), ('"name": "Kidza", "color": ["fekete", "fehér"], "ár": 75000, "eladott": igaz,] ');

Láthatja, hogy az adatok szótár formájában kerültek hozzá, pl.g., kulcsok és értékek.

A „Bag” táblázat elemei egy SELECT mondattal láthatók, az alábbiak szerint:

>> SELECT * FROM táska;

A '->' Operátor használata

Keressük meg a "Márka" oszlopban szereplő értékeket a "név" kulcson keresztül a "->" operátor segítségével a lekérdezésünkben.  A „name” kulcs összes rekordját lekéri a „Brand” oszlopból. A kimenet az új „brand” oszlopban jelenik meg. A végleges kimenet az alábbiakban csatolt módon jelenik meg. Mint láthatja, három értékünk van: „Gucci, Allure, kidza” a kulcs „névhez”.

>> SELECT márka -> 'név' AS márka FROM Bag;

A '->' operátor használata a WHERE záradék használatával

Hívjuk le a „Bag” táblázat összes sorát, ahol a „Márka” oszlop „true” értéket kapott az „eladott” kulcsához. A választás lekérdezése a következő:

>> SELECT * FROM Bag WHERE Márka -> 'eladott' = 'igaz';

Látja, hogy a lekérdezés két sort csak a 'Bag' táblából kapott, mert csak két sora van 'true' értékkel az 'eladott' kulcshoz.

PostgreSQL JSONB funkciók:

Úgy tűnik, hogy a JSONB információi alapján számos beépített módszer alkalmazható. Nézzük meg őket egyenként.

JSONB Minden funkció:

A JSONB Minden függvény felveszi az adatokat és átalakítja a kulcs_érték párba. Vegye figyelembe a jsonb_each metódus következő lekérdezését, ahol értékeket adtunk meg. A legmagasabb szintű JSON-adatok az eredmény kulcs-érték kombinációinak sorozatává bővülnek. Két kulcs-érték pár van, az alábbiak szerint.

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

JSONB objektumkulcsok funkció:

Most megnézzük a Jsonb_object_keys függvényt. Ez a függvény felveszi az adatokat, és maga különíti el és azonosítja a benne lévő legfontosabb értékeket. Próbálja ki az alábbi SELECT lekérdezést, amelyben a jsonb_object_keys metódust használtuk, és megadtunk néhány értéket. Ez a módszer csak a JSON legmagasabb szintű dokumentumkulcsait adja vissza az adott adatokhoz, az alábbiak szerint.

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

JSONB Extract Path funkció:

A JSONB Extract Path függvény az utat mutatja meg az eredmény értékében. Próbálja ki az alábbi lekérdezést a parancssorban, ahol a JSONB elérési útjának elérési útjaként a „brand” értéket adtuk meg. Jsonb_extract_path metódus. Az alábbi képen látható kimenetből láthatja, hogy a 'Gucci' egy visszaadott érték a 'name' útvonalhoz.

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

JSONB Pretty Funkció:

Ha JSON fájljait könnyen olvasható elrendezéssel szeretné megjeleníteni, akkor a JSONB Pretty funkció a legjobb megoldás. Próbálja ki az alábbi lekérdezést, és egyszerű kimenetet kap.

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

Következtetés:

Amikor JSONB információkat tárol a PostgreSQL adatbázisokban, a lehető legjobb eredményt érheti el: a NoSQL adatbázis egyszerűsége és megbízhatósága, valamint a relációs adatbázis előnyei. Számos operátor és módszer segítségével bemutattuk a PostgreSQL JSONB használatát. Képes lesz a JSONB adatokkal dolgozni, referenciáinkként felhasználva az illusztrációinkat.

Hogyan lehet megváltoztatni a bal és jobb egérgombokat a Windows 10 PC-n
Elég általános, hogy az összes számítógépes egéreszközt ergonómikusan a jobbkezes felhasználók számára tervezték. De vannak olyan egéreszközök, amelye...
Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...
Ezekkel az ingyenes eszközökkel adja hozzá az egérmozdulatokat a Windows 10 rendszerhez
Az elmúlt években a számítógépek és az operációs rendszerek nagymértékben fejlődtek. Volt idő, amikor a felhasználóknak parancsokkal kellett navigálni...