PostgreSQL-taulukko: Funktiot, tyyppi, esimerkki

Sisällysluettelo:

Anonim

Mikä on PostgreSQL-taulukko?

PostgreSQL: ssä voimme määritellä sarakkeen joukoksi kelvollisia tietotyyppejä. Tietotyyppi voi olla sisäänrakennettu, käyttäjän määrittelemä tai lueteltu tyyppi. Tämän lisäksi matriiseilla on tärkeä rooli PostgreSQL: ssä.

Jokaisessa vastaavassa PostgreSQL-tietotyypissä on asianmukainen taulukotyyppi. Esimerkiksi kokonaislukutietotyypillä on kokonaislukutyyppi [], merkkitietotyypillä on merkkijonotyyppi [] jne.

Tässä PostgreSQL-opetusohjelmassa opit:

  • Mikä on PostgreSQL-taulukko?
  • PostgreSQL-taulukoiden luominen
  • Lisätään PostgreSQL-taulukon arvot
  • Taulukon tietojen kysely
  • PostgreSQL-taulukon muokkaaminen
  • Haku PostgreSQL-taulukosta
  • Laajentavat taulukot
  • PgAdminin käyttäminen

PostgreSQL-taulukoiden luominen

Seuraavassa esimerkissä luodaan taulukko nimeltä Työntekijät ja yhteystieto-sarake määritetään tekstiryhmänä:

CREATE TABLE Employees (id int PRIMARY KEY,name VARCHAR (100),contact TEXT []);

Komennon pitäisi toimia onnistuneesti.

Lisätään PostgreSQL-taulukon arvot

Lisätään nyt arvot yllä olevaan taulukkoon:

INSERT INTO EmployeesVALUES(1,'Alice John',ARRAY [ '(408)-743-9045','(408)-567-7834' ]);

Lisäyksen pitäisi onnistua.

Kolmannen sarakkeen eli kontaktin arvot on lisätty matriiseina. Tämä on saavutettu käyttämällä ARRAY-konstruktoria.

Tässä esimerkissä olemme liittäneet ne hakasulkeisiin []. Meillä on kaksi yhteyshenkilöä työntekijälle Alice Johnille.

Voimme silti käyttää kiharaisia ​​olkaimia {} alla olevan kuvan mukaisesti:

INSERT INTO EmployeesVALUES(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öiden taulukkoon. Kun käytetään kiharoita aaltosulkeita, taulukko on kääritty lainausmerkkeihin ('), kun taas tekstirivikohdat on kääritty lainausmerkkeihin (").

Taulukon tietojen kysely

Taulukon elementtien kyselyyn käytämme SELECT-käskyä.

Jos haluat nähdä Employees-taulukon sisällön, suoritamme seuraavan komennon:

SELECT * FROM Employees;

Tämä palauttaa seuraavan:

Taulukon sarakkeen eli kontaktin elementit on suljettu kiharaisiksi aaltosulkeiksi {}.

Pääset matriisielementteihin lisäämällä alaindeksi hakasulkeisiin []. Matriisin ensimmäinen elementti on kohdassa 1.

Esimerkiksi meidän on hankittava työntekijöiden nimet ja vain heidän ensimmäinen yhteyshenkilönsä työntekijöille, joilla on enemmän kuin yksi yhteyshenkilö. Voimme käyttää tätä yhteyshenkilönä [1].

Katsotaanpa tämä:

SELECT name, contact[1]FROM Employees;

Tämä palauttaa seuraavat:

Voimme käyttää SELECT-käskyä WHERE-lausekkeen avulla suodattaa rivejä taulukon sarakkeen perusteella.

Esimerkiksi, jos haluat nähdä työntekijän, jolla on (408) -567-78234, toisena yhteyshenkilönä, voimme suorittaa seuraavan komennon:

SELECTnameFROMEmployeesWHEREcontact [ 2 ] = '(408)-567-78234';

Tämä palauttaa seuraavat:

PostgreSQL-taulukon muokkaaminen

Voit päivittää matriisin kaikki tai yhden elementin.

Tässä on työntekijöiden taulukon sisältö:

Päivitetään työntekijän James Bushin toinen puhelinnumero, jonka tunnus on 3:

Suorita seuraava komento:

UPDATE EmployeesSET contact [ 2 ] = '(408)-589-89347'WHEREid = 3;

Komennon pitäisi toimia onnistuneesti:

Kysymme taulukosta tarkistaaksemme, onko muutos onnistunut:

Muutos onnistui.

Haku PostgreSQL-taulukosta

Tällä hetkellä Employees-taulukko on seuraava:

Oletetaan, että meidän on tiedettävä, kuka omistaa kontaktin (408) -783-5731 riippumatta kontaktiryhmän sijainnista, voimme käyttää ANY () -funktiota alla esitetyllä tavalla:

SELECTname,contactFROMEmployeesWHERE'(408)-783-5731' = ANY (contact);

Tämä palauttaa seuraavat:

Laajentavat taulukot

Voimme jakaa matriisin arvot riveihin. Tätä prosessia kutsutaan taulukon laajennukseksi.

Työntekijät-taulukon esimerkissä kontaktiryhmässä on joitain työntekijöitä, joilla on kaksi yhteystietoa. Voimme jakaa nämä erillisiin riveihin.

PostgreSQL tarjoaa kaikkein () -funktion, jota voidaan käyttää tähän.

Esimerkiksi:

SELECTname,unnest(contact)FROMEmployees;

Tämä palauttaa seuraavat:

Työntekijöillä Alice Johnilla ja James Bushilla on kaksi yhteyttä. Voimme jakaa erillisiin riveihin.

PgAdminin käyttäminen

PostgreSQL-taulukoiden luominen

Voit tehdä saman pgAdminin avulla seuraavasti:

Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.

Vaihe 2)

  1. Napsauta vasemman reunan navigointipalkista rbases.
  2. Napsauta Demo-painiketta

Vaihe 3) Luo työntekijät-taulukko kirjoittamalla kysely kyselyeditoriin:

CREATE TABLE Employees (id int PRIMARY KEY,name VARCHAR (100),contact TEXT []);

Vaihe 4) Napsauta Suorita-painiketta.

Lisätään PostgreSQL-taulukon arvot

Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:

INSERT INTO EmployeesVALUES(1,'Alice John',ARRAY [ '(408)-743-9045','(408)-567-7834' ]);

Vaihe 2) Napsauta Suorita-painiketta:

Vaihe 3)

Käyttää kiharaisia ​​aaltosulkeita kyselyssä

Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:

INSERT INTO EmployeesVALUES(2,'Kate Joel','{"(408)-783-5731"}'),(3,'James Bush','{"(408)-745-8965","(408)-567-78234"}');

Vaihe 2) Napsauta Suorita-painiketta:

Taulukon tietojen kysely

Vaihe 1) Jos haluat nähdä työntekijöiden taulukon sisällön, kirjoita seuraava kysely kyselyeditoriin:

SELECT * FROM Employees;

Vaihe 2) Napsauta Suorita-painiketta:

Sen pitäisi palauttaa seuraava:

Vaihe 3) Nähdäksesi työntekijöiden ensimmäiset kontaktit:

  1. Kirjoita seuraava kysely kyselyeditoriin:
    SELECT name, contact[1]FROM Employees;
  2. Napsauta Suorita-painiketta.

Sen pitäisi palauttaa seuraava:

Vaihe 4) Yhdistä SELECT-käsky WHERE-lauseeseen:

  1. Kirjoita kyselyeditorissa seuraava komento:
    SELECTnameFROMEmployeesWHEREcontact [ 2 ] = '(408)-567-78234';
  2. Napsauta Suorita-painiketta.

Sen pitäisi palauttaa seuraava:

PostgreSQL-taulukon muokkaaminen

Vaihe 1) Päivitä käyttäjän toinen kontakti, jonka tunnus on 3, suorittamalla seuraava komento:

UPDATE EmployeesSET contact [ 2 ] = '(408)-589-89347'WHEREid = 3;

Vaihe 2) Napsauta Suorita-painiketta.

Vaihe 3)

1. Kirjoita kyselyeditorissa seuraava komento tarkistaaksesi muutoksen onnistumisen:

SELECT * FROM Employees;

Napsauta Suorita-painiketta.

Sen pitäisi palauttaa seuraava:

Haku PostgreSQL-taulukosta

Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:

SELECTname,contactFROMEmployeesWHERE'(408)-783-5731' = ANY (contact);

Vaihe 2) Napsauta Suorita-painiketta.

Sen pitäisi palauttaa seuraava:

Laajentavat taulukot

Vaihe 1) Kirjoita seuraava kysely kyselyeditoriin:

SELECTname,unnest(contact)FROMEmployees;

Vaihe 2) Napsauta Suorita-painiketta.

Sen pitäisi palauttaa seuraava:

Yhteenveto:

  • PostgreSQL antaa meille mahdollisuuden määritellä taulukon sarake taulukotyypiksi.
  • Matriisin on oltava kelvollista tietotyyppiä, kuten kokonaisluku, merkki tai käyttäjän määrittelemät tyypit.
  • Arvojen lisäämiseksi taulukon sarakkeeseen käytämme ARRAY-konstruktoria.
  • Jos taulukon sarakkeen samalla rivillä on enemmän kuin yksi elementti, ensimmäinen elementti on kohdassa 1.
  • Jokaiseen arvoon päästään välittämällä alaindeksi hakasulkeissa [].
  • Matriisin elementit voidaan hakea SELECT-käskyllä.
  • Taulukon sarakkeen arvot voidaan sulkea hakasulkeisiin [] tai kiharaisiin aaltosulkeisiin {}.
  • Voimme etsiä taulukon sarakearvoja ANY () -toiminnolla.

Lataa tässä opetusohjelmassa käytetty tietokanta