PostgreSQL Taulukko: Funktiot, Tyyppi, Esimerkki
Mikä on PostgreSQL Array?
In PostgreSQL, voimme määrittää sarakkeen kelvollisten tietotyyppien joukoksi. Tietotyyppi voi olla sisäänrakennettu, käyttäjän määrittelemä tai lueteltu tyyppi. Tämän lisäksi taulukoilla on tärkeä rooli PostgreSQL.
Jokainen vastaava PostgreSQL tietotyypin mukana tulee asiaankuuluva taulukkotyyppi. Esimerkiksi kokonaislukutietotyypillä on integer[]-taulukko, merkkitietotyypillä on merkki[]-taulukko jne.
Luominen PostgreSQL taulukot
Seuraavassa esimerkissä luomme taulukon nimeltä Työntekijät, jonka yhteystietosarake on määritelty tekstitaulukoksi:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
Komennon pitäisi toimia onnistuneesti.
asettaminen PostgreSQL Array-arvot
Anna meidän nyt lisätä arvot yllä olevaan taulukkoon:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
Lisäyksen pitäisi toimia onnistuneesti.
Kolmannen sarakkeen eli kontaktin arvot on lisätty taulukkona. Tämä on saavutettu käyttämällä ARRAY-konstruktoria.
Tässä esimerkissä olemme kirjoittaneet ne hakasulkeisiin []. Meillä on kaksi työntekijää Alice Johnia varten.
Voimme edelleen käyttää kiharoita {} alla olevan kuvan mukaisesti:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
Komennon pitäisi toimia onnistuneesti.
Yllä olevat lauseet lisäävät kaksi riviä Työntekijät-taulukkoon. Käytettäessä aaltosulkuja, taulukko rivitetään lainausmerkkien (') sisään, kun taas tekstitaulukon kohteet rivitetään lainausmerkkien (“) sisään.
Kyselyt taulukon tiedoista
Käytämme SELECT-käskyä taulukon elementtien kyselyyn.
Nähdäksemme Työntekijät-taulukon sisällön suoritamme seuraavan komennon:
SELECT * FROM Employees;
Tämä palauttaa seuraavan:
Taulukossarakkeen elementit, eli kontakti, on suljettu aaltosulkeisiin {}.
Voit käyttää itse taulukon elementtejä lisäämällä alaindeksin hakasulkeisiin []. Matriisin ensimmäinen elementti on paikassa 1.
Meidän on esimerkiksi saatava työntekijöiden nimet ja vain heidän ensimmäinen yhteystietonsa niille työntekijöille, joilla on useampi kuin yksi yhteystieto. Voimme käyttää tätä yhteyshenkilönä[1].
Katsotaanpa tämä:
SELECT name, contact[1] FROM Employees;
Tämä palauttaa seuraavat tiedot:
Voimme käyttää SELECT-käskyä yhdessä WHERE-lauseen kanssa rivien suodattamiseen taulukkosarakkeen perusteella.
Jos esimerkiksi haluat nähdä työntekijän, jolla on (408)-567-78234, toisena yhteyshenkilönä, voimme suorittaa seuraavan komennon:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
Tämä palauttaa seuraavat tiedot:
Muokkaaminen PostgreSQL Ryhmä
Voit päivittää taulukon kaikki tai yksittäisen elementin.
Tässä on Työntekijät-taulukon sisältö:
Päivitetäänpä työntekijän James Bushin, jonka tunnus on 3, toinen puhelinnumero:
Suorita seuraava komento:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
Komennon pitäisi toimia onnistuneesti:
Kysytään taulukosta, onko muutos onnistunut:
Muutos onnistui.
Haku a PostgreSQL Ryhmä
Tällä hetkellä työntekijätaulukkomme on seuraava:
Oletetaan, että meidän on tiedettävä, kuka omistaa yhteyshenkilön (408)-783-5731 riippumatta sijainnista yhteystietotaulukossa, voimme käyttää ANY()-funktiota alla esitetyllä tavalla:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
Tämä palauttaa seuraavat tiedot:
Laajentuvat taulukot
Voimme jakaa taulukon arvot riveihin. Tämä prosessi tunnetaan taulukon laajentamisena.
Työntekijät-taulukon esimerkissä yhteystietotaulukossa on työntekijöitä, joilla on kaksi yhteyshenkilöä. Voimme jakaa nämä erillisiin riveihin.
PostgreSQL tarjoaa unnest()-funktion, jota voidaan käyttää tähän.
Esimerkiksi:
SELECT name, unnest(contact) FROM Employees;
Tämä palauttaa seuraavat tiedot:
Työntekijöillä Alice Johnilla ja James Bushilla on kaksi kontaktia. Voimme jakaa erillisiin riveihin.
pgAdminin avulla
Luominen PostgreSQL taulukot
Suorita sama pgAdminin kautta seuraavasti:
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Vasemmalla olevasta navigointipalkista - Napsauta rbases.
- Napsauta Demo-painiketta
Vaihe 3) Kirjoita kysely kyselyeditoriin luodaksesi Työntekijät-taulukon:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
Vaihe 4) Napsauta Suorita-painiketta.
asettaminen PostgreSQL Array-arvot
Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
Vaihe 2) Napsauta Suorita-painiketta:
Vaihe 3)
Kiharan aaltosulkeiden käyttäminen kyselyssä
Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
Vaihe 2) Napsauta Suorita-painiketta:
Kyselyt taulukon tiedoista
Vaihe 1) Näet Työntekijät-taulukon sisällön kirjoittamalla seuraavan kyselyn kyselyeditoriin:
SELECT * FROM Employees;
Vaihe 2) Napsauta Suorita-painiketta:
Sen pitäisi palauttaa seuraavat tiedot:
Vaihe 3) Nähdäksesi työntekijöiden ensimmäiset yhteystiedot:
- Kirjoita seuraava kysely kyselyeditoriin:
SELECT name, contact[1] FROM Employees;
- Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Vaihe 4) Voit yhdistää SELECT-lauseen WHERE-lauseeseen seuraavasti:
- Kirjoita seuraava komento kyselyeditoriin:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
- Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Muokkaaminen PostgreSQL Ryhmä
Vaihe 1) Päivitä käyttäjän toinen yhteystieto, jonka tunnus on 3, suorittamalla seuraava komento:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
Vaihe 2) Napsauta Suorita-painiketta.
Vaihe 3)
1. Kirjoita seuraava komento kyselyeditoriin tarkistaaksesi, onnistuiko muutos:
SELECT * FROM Employees;
2. Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Haku a PostgreSQL Ryhmä
Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
Vaihe 2) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Laajentuvat taulukot
Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:
SELECT name, unnest(contact) FROM Employees;
Vaihe 2) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
Yhteenveto
- PostgreSQL antaa meille mahdollisuuden määrittää taulukon sarakkeen taulukkotyypiksi.
- Taulukon on oltava kelvollinen tietotyyppi kuten kokonaisluku-, merkki- tai käyttäjän määrittämät tyypit.
- Arvojen lisäämiseksi taulukkosarakkeeseen käytämme ARRAY-konstruktoria.
- Jos taulukkosarakkeen samalla rivillä on useampi kuin yksi elementti, ensimmäinen elementti on paikassa 1.
- Jokaiseen arvoon pääsee käsiksi syöttämällä alaindeksi hakasulkeisiin [].
- Taulukon elementit voidaan hakea SELECT-käskyllä.
- Taulukossarakkeen arvot voidaan sulkea hakasulkeisiin [] tai aaltosulkeisiin {}.
- Voimme etsiä taulukon sarakearvoja käyttämällä ANY()-funktiota.
Lataa tässä opetusohjelmassa käytetty tietokanta