PostgreSQL innebygde datatyper

PostgreSQL innebygde datatyper
Den sekvensielle serien med data kalles Range Data. PostgreSQL -databasen støtter en rekke datatyper som er en unik funksjon i denne databasen. Rekkevidden og datatypene for flere områder blir introdusert i PostgreSQL versjon 14. Denne datatypen lagrer de nedre og de øvre verdiene. Heltallet eller tidsstempelverdien kan lagres i feltet til denne datatypen. Når det kreves å lagre mange verdier i en enkelt rekkevidde, er det bedre å bruke datatype. Det innebygde utvalget av datatyper som støttes av PostgreSQL er nevnt nedenfor.
Rekkevidde typer Hensikt
int4range Den definerer rekke heltall.
Int4Multirange Det definerer flerdekseletallene.
int8range Den definerer rekke store heltall.
int8multirange Det definerer flere store heltall.
numrange Den definerer antallet tall.
nummultirange Det definerer flerdekselet av tall.
Tsrange Den definerer tidsstempelområdet uten tidssonen.
Tsmultirange Den definerer flerdekselet for tidsstempel uten tidssonen.
Tstzrange Den definerer tidsstempelområdet med tidssonen.
tstzmultirange Den definerer flerdekselet for tidsstempel med tidssonen.
datointervall Den definerer datoområdet.
Datemultirange Det definerer flerdistanse av dato.

Forutsetninger:

Du må installere den nyeste versjonen av PostgreSQL -pakker på Linux -operativsystemet før du utfører SQL -uttalelsene som vises i denne opplæringen. Kjør følgende kommandoer for å installere og starte PostgreSQL:

$ sudo apt-get -y installer postgreSql postgreSql-contrib
$ sudo SystemCTL Start PostgreSql.service

Kjør følgende kommando for å logge inn på PostgreSQL med rottillatelse:

$ sudo -u postgres psql

PostgreSQL Range Datatype Eksempler:

Før du oppretter noen tabell med den boolske datatypen, må du opprette en PostgreSQL -database. Så kjør følgende kommando for å opprette en database som heter 'Testdb':

# Opprett databasetestdb;

Følgende utdata vises etter å ha opprettet databasen:

EN. Bruk av datatype for heltallsortiment
Lag et bord som heter 'TBL_INTRANGE' i den nåværende databasen med to felt. Her er det første feltnavnet id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er int_range Og datatypen er Int4range.

# Opprett tabell TBL_INTRANGE (
ID Seriell primærnøkkel,
int_range int4range);

Følgende utdata vises hvis tabellen opprettes vellykket.

Kjør følgende sett inn spørring for å sette inn tre poster i TBL_INTRANGE bord:

# Sett inn i TBL_INTRANGE (int_range)
Verdier ('[1, 10)' :: int4range),
('[1, 20)' :: int4range),
('[1, 30)' :: int4range);

Følgende utgang vises etter utførelse av spørringen ovenfor:

Kjør følgende velg spørring for å lese alle poster fra TBL_INTRANGE:

# Velg * fra TBL_INTRANGE;

Kjør følgende velg spørring for å lese disse postene fra TBL_INTRANGE HVOR int_range er større enn 12:

# Velg * fra TBL_INTRANGE hvor int_range @> 12;

Følgende utgang vises etter å ha utført ovennevnte utvalgte spørsmål:

B. Bruk av datatype for numerisk rekkevidde
Lag et bord som heter 'tbl_numrange' i den nåværende databasen med to felt. Her er det første feltnavnet id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er num_range Og datatypen er Numrange.

# Opprett tabell tbl_numrange (
ID Seriell primærnøkkel,
num_range numrange);

Kjør følgende sett inn spørring for å sette inn tre poster i tbl_numrange bord:

# Sett inn i tbl_numrange (num_range)
Verdier (numrange (20, 40)),
(NumRange (100, 500));

Følgende utgang vises etter å ha utført spørsmålene ovenfor:

Kjør følgende velger spørring som vil lese alle poster fra TBL_NUMRANGE:

# Velg * fra tbl_numrange;

Følgende utdata vises etter utførelse av ovennevnte SELECT -spørring:

C. Bruk av datatype for tidsstempelområde
Lag et bord som heter 'tbl_timerange' i den nåværende databasen med to felt. Her er det første feltnavnet id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er tidsramme Og datatypen er Tsrange.

# Opprett tabell tbl_timerange (
ID Seriell primærnøkkel,
Timerange Tsrange);

Kjør følgende sett inn spørring for å sette inn tre poster i tbl_timerange bord:

# Sett inn i tbl_timerange (timerange)
Verdier ('[2022-05-20 10:20:30, 2022-05-21 10:20:15)'),
('[2022-09-13 9:30:15, 2022-09-14 11:10:20)');

Følgende utgang vises etter å ha utført spørsmålene ovenfor:

Kjør følgende velger spørring som vil lese alle poster fra tbl_timerange:

# Velg * fra tbl_timerange;

Følgende utdata vises etter utførelse av ovennevnte SELECT -spørring:

D. Bruk av datatype datatype
Lag et bord som heter 'tbl_daterange' i den nåværende databasen med to felt. Her er det første feltnavnet id som er den primære nøkkelen til tabellen. Verdien av dette feltet vil bli økt automatisk når en ny post vil sette inn. Det andre feltnavnet er datointervall Og datatypen er DATOINTERVALL.

# Opprett tabell tbl_daterange (
ID Seriell primærnøkkel,
date_range daterange);

Kjør følgende sett inn spørring for å sette inn tre poster i tbl_daterange bord:

# Sett inn i tbl_daterange (date_range)
Verdier ('[2022-05-20, 2022-05-21)'),
('[2022-07-10, 2022-07-15)'),
('[2022-12-01, 2022-12-16)');

Følgende utgang vises etter å ha utført spørsmålene ovenfor:

Kjør følgende velger spørring som vil lese alle poster fra tbl_daterange:

# Velg * fra tbl_daterange;

Kjør følgende velger spørring som vil lese disse postene fra tbl_daterange hvor datoverdien av Dato_range feltet er større enn '2002-07-13'.

# Velg *fra tbl_daterange hvor dato_range @> '2022-07-13' :: dato;

Følgende utgang vises etter å ha utført spørsmålene ovenfor:

Konklusjon:

Ulike bruksområder av datatyper av PostgreSQL er vist i denne opplæringen ved å bruke flere tabeller. De nye PostgreSQL -brukerne vil kunne bruke utvalget av datatyper i tabellene sine etter å ha lest denne opplæringen.