PostgreSQL Arrays Tutorial

PostgreSQL Arrays Tutorial
Endimensjonale eller flerdimensjonale matriser med variabel lengde kan defineres som et felt i en tabell i PostgreSQL-databasen. Innebygde, brukerdefinerte, enum og sammensatte datatyper støttes av PostgreSQL-matrisen. Array -felt er deklarert ved å bruke firkantede parenteser som andre array -erklæringer. For eksempel kan heltallsarrays deklareres som Heltall [], Tekstarrays kan deklareres som tekst[] etc. Hvordan du kan bruke PostgreSQL -matriser med opprette, velge, sette inn, oppdatere og slette spørring vises i denne opplæringen.

Eksempel-1: Opprette tabell med matrisefelt

Lag en tabell ved hjelp av Array -feltet. I dette eksemplet er en tabell som heter Brukere er opprettet med felt, Brukernavn, fullnavn, kjønn, e -post, telefon og Interesser. Interesser felt er definert som Tekst [] matrise som kan godta flere verdier i dette feltet.

Lag tabellbrukere (
Brukernavn varchar (15) primærnøkkel,
Fullname varchar (100),
Kjønn varchar (6),
E -post varchar (20),
Telefon VARCHAR (20),
Interesser tekst []);

Eksempel-2: Sett inn data i tabellenes matrise i tabellen

Du kan sette inn en eller flere verdier i matrisefeltet. I matrisefelt skilles flere verdier av komma og bruker andre brakett for å angi verdiene. Kjør følgende tre innsatserklæringer for å sette inn tre rader i Brukere bord.

Sett inn brukere (brukernavn, fullnavn, kjønn, e -post, telefon, interesser)
Verdier ('John99', 'Jonathan Bing', 'Mann', '[email protected] ',' +2455676677 ',
'"Hagearbeid", "cricket", "sykling", "reiser"');
Sett inn brukere (brukernavn, fullnavn, kjønn, e -post, telefon, interesser)
Verdier ('Maria_HD', 'Maria Hossain', 'Kvinne', '[email protected] ',' +9234455454 ',
'"Traveling", "Tennis"');
Sett inn brukere (brukernavn, fullnavn, kjønn, e -post, telefon, interesser)
Verdier ('Fahmidabd', 'Fahmida', 'kvinne', '[email protected] ',' +88017348456 ',
'"Programmering", "musikk" ");

Kjør følgende valgte setning for å vise alle poster over brukere av brukere.

Velg * fra brukere;

Eksempel-3: Velg data ved hjelp av tabellen ved bruk av matrisefeltet

a) hente bestemt matriseverdi

Hvis du vil hente en bestemt verdi fra matrisen, må du spesifisere indeksverdien med matrisefeltet. Følgende SELECT -spørring brukes til å hente Fullnavn, telefon og renter verdien av den andre indeksen fra brukertabellen til alle mannlige brukere.

Velg Fullnavn, telefon, interesser [2]
Fra brukere
Hvor kjønn = 'hann';

Hvis indeksverdien ikke er tilgjengelig i matrisefeltet, vil den returnere null som utgang. I den følgende uttalelsen eksisterer ikke Fifth Index i noe interesser.

Velg Fullnavn, e -post, interesser [5]
Fra brukere
Hvor kjønn = 'kvinne';

b) Hent poster basert på spesifikk matriseverdi

Du kan bruke noen Funksjon for å søke på bestemte arrayverdier i alle poster over array -feltet. Følgende valgte setning vil hente Fullnavn, e -post og Telefon av alle brukere hvis Interesser Feltet inneholder 'Reiser" verdi.

Velg Fullnavn, e -post, telefon
Fra brukere
Hvor 'reiser' = enhver (interesser);

c) hente poster ved bruk av Unnest -funksjonen

Unnest () Funksjon brukes til å hente hver matriseverdi i egen rad. Følgende valgte setning vil hente poster separat for hver verdi av Interesser felt.

Velg Fullname, Unnest (Interesser)
Fra brukere;

Eksempel-4: Oppdater data ved bruk av et utvalg av tabellen i tabellen

en) Oppdater bestemt arrayindeks

Følgende oppdateringsspørsmål vil oppdatere den andre indeksverdien av interesser som poster inneholder brukernavnet “John99”.

Oppdater brukere
Sett interesser [1] = 'Fotball'
Hvor brukernavn = 'John99';

Kjør følgende velg spørring for å vise effekt av oppdateringsspørsmålet.

Velg brukernavn, interesser fra brukere;

b) Oppdater alle verdier for et bestemt matrisefelt

Du kan oppdatere hele innholdet i matrisefeltet med to måter. Første måte er å bruke normal konvensjonell måte som vises på eksemplet ovenfor og andre måte er å bruke array -uttrykk. Begge måter vises nedenfor for å oppdatere posten. Du kan kjøre hvilket som helst av følgende spørsmål for å oppdatere matrisefeltet. Følgende oppdateringsuttalelse vil erstatte de tidligere verdiene med nye to verdier som raden inneholder brukernavnet, 'maria_db '.

Oppdater brukere
Sett interesser = '"hagearbeid", "hockey"'
Hvor brukernavn = 'maria_hd';

Eller,

Oppdater brukere
Sett interesser = Array ['Gardening', 'Hockey']
Hvor brukernavn = 'maria_hd';

Kjør følgende velg spørring for å vise effekt av oppdateringsspørsmålet.

Velg brukernavn, interesser fra brukere;

Eksempel-5: Slett data basert på matrisefeltet i tabellen

Du kan kjøre Delete Query ved å samsvare med bestemte arrayverdier. I det følgende eksemplet vil brukerne som har "programmering" som verdien i First Index of Interests -feltet bli slettet fra tabellen.

Slett fra brukere
Hvor interesser [1] = 'programmering';

Kjør følgende velg spørring for å vise virkning av slettespørsmålet.

Velg brukernavn, interesser fra brukere;

Alle eksemplene ovenfor på denne opplæringen viser bruken av endimensjonal matrise i PostgreSQL. Bruken av flerdimensjonal matrise er litt komplisert enn endimensjonal matrise. Som nybegynner kan du øve på denne opplæringen for å få den grunnleggende kunnskapen om å bruke PostgreSQL -matrise.