Hvordan du bruker postgres matrise bokstavelig

Hvordan du bruker postgres matrise bokstavelig
PostgreSQL -databasen gir et anlegg for å bruke matriser i tabellene for å lagre samme type data i bulkform. Arrays er den type data som brukes til å lagre verdier av samme datatype. PostgreSQL lar kolonnen lagre data ved å bruke flerdimensjonale matriser. Vi har implementert alle eksemplene i PostgreSql Pgadmin Dashboard. I denne opplæringen har vi brukt mange funksjoner på matrisen i tabellene til PostgreSQL. Disse funksjonene inkluderer datainnsetting i en matrise. Konvertering av en matrise til listen blir også forklart.

Gjennomføring

Åpne PostgreSql Pgadmin -panel. Først vil den be om passordet. På den øverste menylinjen er det et alternativ for verktøy. Velg det alternativet og deretter en rullegardin er åpnet, velg alternativet for spørringsverktøyet. Dette vil føre deg til dashborddelen der vi skriver spørringen og utfører dem.

Forklar array -kolonner

Først må vi erklære en matrise. Siden matriser er datatypen til en hvilken som helst kolonne i tabellen. Så vi lager tabellen først. Navnet på tabellen er tålmodig for å lagre informasjonen om en pasient. Tabellen vil inneholde ID, navnekolonne som heltall og varchar datatyper, men den tredje skal lagre kontaktnummeret. Kontaktnumre kan være mer enn ett, så her har vi brukt datatypen som en matrise i form av tekst [].

>> Lag tabellpasient (ID seriell primærnøkkel, navn varchar (100), telefontekst []);

Nå, utfør kommandoen ved å velge symbolet 'Utfør eller oppdatering på verktøylinjen. En melding vises for å vise at det opprettes en tabell.

Sett inn data i PostgreSQL -matrisen

Etter at tabellen er opprettet, vil vi nå sette inn verdier, array litterals i tabellen. To metoder brukes hovedsakelig for å sette inn data i matrisen. Begge oppnås ved å bruke en innsatsuttalelse.

Den første metoden omhandler å sette inn verdier i tabellen ved å bruke en matrise -konstruktør for å legge til data i den spesifiserte kolonnen som har en matrise som datatype. Denne konstruktøren hjelper med å konstruere en matrise og deretter sette inn denne rekke data i tabellen. La oss nå snakke om eksemplet. Her har vi lagt til to telefonnumre i telefonkolonnen. Det betyr at en matrise har verdi i to indekser.

>> Sett inn pasient (navn, telefoner) verdier ('Kamali Aura', Array ['(051) -381-5396', '(421) -339-5937']);

Denne erklæringen gjennom en matrisekonstruktør gjøres ved å bruke firkantede parenteser.

Den andre metoden inneholder krøllete parenteser som skal brukes. En ting skal bemerkes at mens vi bruker krøllete parenteser, bruker vi enkelt sitater for å pakke inn matrisedelen. Mens vi i tilfelle av tekstelementer i en matrise, bruker vi doble sitater som vi gjør for strengene. Nå i eksemplet har vi lagt til tre prøvekrever i tabellen, med ett tall i matrisen av den første raden og to tall i matrisen av andre og tredje rad.

>> Sett inn pasient (navn, telefoner) verdier ('sushi azaar', '"(738) -111-5385"'), ('Robert James', '"(033) -009-6127", "(567) -589-576233" '), (' Waliya Smith ',' "(408) -542-5482", "(731) -069-05367" ');

Du kan se den resulterende meldingen om at 3 rader blir lagt til i tabellen.

Vis array -bokstaver

Når vi er ferdige med dataregistrering, vil vi se de innsatte dataene fra tabellpasienten ved å bruke en SELECT -kommando.

>> Velg navn, telefon fra pasient;

Det ovennevnte bildet viser at hver matrise inneholder to telefonnumre i hver rad bortsett fra den andre IDen.

Spørringsarray bokstavelig

Elementene i en matrise får tilgang til ved å bruke abonnement i de firkantede parentesene []. Nummereringsmetoden som brukes av PostgreSQL er den enbaserte nummereringen av elementer i matrisen som standard. Derfor er det bevist at det første elementet i PostgreSQL -matrisen er til stede ved 1. indeks.

Det første resultatet vi ønsker er å hente navnet på pasienten sammen med det andre telefonnummeret de oppga. Så vi har brukt 2 abonnement her for å hente antallet som er til stede på den andre indeksen.

>> Velg navn, telefoner [2] fra pasient;

Det vil bringe navnene og andre telefonnumrene til alle de 4 pasientene bortsett fra pasienten med den andre IDen. Fordi vi ikke har gitt et nummer i den matrisen til den andre stillingen.

Denne delen av opplæringen vil hente noen poster i en tabell ved å bruke forhold. Så vi har brukt en 'hvor' klausul her for å spesifisere tilstanden. For å filtrere radene, har vi brukt en WHERE-klausul med betingelsen av å finne navnet på en pasient som har et tall '(421) -399-5937' som et annet nummer de har gitt. Så vi bruker den undergitte kommandoen nedenfor.

>> Velg navn fra pasient der telefoner [2] = '(421) -339-5937';

Disse resulterende verdiene viser at den første radjournalen til pasienten inneholder tallet ved den andre indeksen for telefonens matrise.

Endre matrise -bokstaver

For å oppdatere eksisterende data i en rekke tabellen, har vi en oppdateringsspørsmål. Dette tar en WHERE -klausul for å spesifisere raden, der vi trenger å endre dataene. I dette eksemplet har vi lagt til et nummer på en andre indeks av telefonens matrise, da dette stedet var tomt før.

>> Oppdater pasientsett telefoner [2] = '(128) -647-4257' hvor id = '2';

Dette vil søke ID 2 først og deretter endre matrisen ved å legge til et nytt nummer på den andre indeksen. Nå vil vi se oppdateringen vi har gjort.

>> Velg ID, navn, telefoner [2] fra pasient der ID = 2;

Nå vil vi bevege oss mot et annet eksempel på å endre data der hele matrisen blir oppdatert. Her vil vi legge inn et nytt nummer til den spesifiserte raden i tabellen.

>> Oppdater pasientsett telefoner = '"(128) -674-1945"' hvor id = 3;

De tre ID -ene i tabellen blir endret på en slik måte at de tidligere dataene fra utvalget av 3. rad fjernes og et nytt nummer blir lagt til. Vi vil se endringene ved å bruke en SELECT -setning.

Søk i PostgreSQL -matrisen

Søkefunksjonen i utvalget av PostgreSQL brukes til å få resultatene ved å bruke et tall som det hører hjemme uten å vite ID. Dette gjøres ved å legge til en hvilken som helst () funksjon i kommandoen. Skriv inn nummeret direkte, og da blir det aktuelle navnet oppnådd.

>> Velg navn, telefoner fra pasient hvor '(128) -674-1945' = hvilken som helst (telefon);

Derfor oppnås pasientens navn som dette tallet tilhører.

Utvid en matrise

PostgreSQL gir en funksjon av Unnest (), for å utvide matrisen som helhet i listen over rader som radene med tabeller. Kommandoen nedenfor vil utvide alle telefonnumrene til telefonens matrise med en ny linje i tabellen.

>> Velg navn, Unnest (telefoner) fra pasient;

Du kan se at alle dataene i matrisen utvides med de samme navnene på en pasient i hver linje.

Konklusjon

'Hvordan bruke Postgres Array Literal' inneholder informasjon om opprettelsen av en matrise innen Postgres -tabellen. Denne funksjonen i Postgres -databasen er veldig effektiv, da den kan lagre mer enn en verdi av samme datatype om gangen i tabellen. Array utfører mange funksjoner som datasøking og oppdatering av data som er til stede i matrisen.