Mi a PostgreSQL tömb?
A PostgreSQL-ben oszlopot definiálhatunk érvényes adattípusok tömbjeként. Az adattípus lehet beépített, felhasználó által definiált vagy felsorolt típus. Ezen kívül a tömbök fontos szerepet játszanak a PostgreSQL-ben.
Minden megfelelő PostgreSQL adattípushoz tartozik egy megfelelő tömbtípus. Például az egész szám adattípusnak van egész szám [] tömbtípus, a karakter adattípusnak karakter [] tömb típus stb.
Ebben a PostgreSQL oktatóanyagban megtudhatja:
- Mi a PostgreSQL tömb?
- PostgreSQL tömbök létrehozása
- PostgreSQL tömbértékek beszúrása
- Tömbadatok lekérdezése
- A PostgreSQL tömb módosítása
- Keresés egy PostgreSQL tömbben
- Tömbök bővítése
- A pgAdmin használatával
PostgreSQL tömbök létrehozása
A következő példában létrehozunk egy alkalmazottak nevű táblázatot, amelynek kapcsolattartó oszlopa szövegtömbként definiálva van:
CREATE TABLE Employees (id int PRIMARY KEY,name VARCHAR (100),contact TEXT []);
A Parancsnak sikeresen kell futnia.
PostgreSQL tömbértékek beszúrása
Helyezzen be most értékeket a fenti táblázatba:
INSERT INTO EmployeesVALUES(1,'Alice John',ARRAY [ '(408)-743-9045','(408)-567-7834' ]);
A beillesztésnek sikeresen kell futnia.
A harmadik oszlop, vagyis a contact értékeit tömbként illesztettük be. Ezt az ARRAY konstruktor használatával érték el.
Ebben a példában szögletes zárójelbe tettük őket []. Két kapcsolatunk van Alice John alkalmazottjával.
Még mindig lehetséges, hogy göndör zárójeleket {} használjunk az alábbiak szerint:
INSERT INTO EmployeesVALUES(2,'Kate Joel','{"(408)-783-5731"}'),(3,'James Bush','{"(408)-745-8965","(408)-567-78234"}');
A parancsnak sikeresen futnia kell.
A fenti állítások két sort illesztenek be az Alkalmazottak táblába. Göndör zárójelek használata esetén a tömböt egyetlen idézőjelbe ('), míg a szövegtömb elemeket kettős idézőjelekbe (") csomagolják.
Tömbadatok lekérdezése
Egy tömb elemeinek lekérdezéséhez a SELECT utasítást használjuk.
Az Alkalmazottak táblázatunk tartalmának megtekintéséhez futtassuk a következő parancsot:
SELECT * FROM Employees;
Ez a következőket adja vissza:
A tömboszlop elemeit, vagyis a kontaktust göndör zárójelek közé zárják {}.
Maguk a tömbelemek eléréséhez szögletes zárójelbe teszünk egy indexet []. A tömb első eleme az 1. pozícióban van.
Például meg kell szereznünk az alkalmazottak nevét és csak azoknak az alkalmazottaknak az első kapcsolatát, akik egynél több kapcsolattal rendelkeznek. Ezt elérhetjük kapcsolattartóként [1].
Lássuk ezt:
SELECT name, contact[1]FROM Employees;
Ez a következőket adja vissza:
Használhatjuk a SELECT utasítást a WHERE záradékkal együtt a sorok szűrésére a tömb oszlop alapján.
Például, ha a (408) -567-78234 jelű alkalmazottat látjuk második kapcsolattartóként, futtathatjuk a következő parancsot:
SELECTnameFROMEmployeesWHEREcontact [ 2 ] = '(408)-567-78234';
Ez a következőket adja vissza:
A PostgreSQL tömb módosítása
Frissítheti a tömb összes elemét vagy egyetlen elemét.
Itt található az Alkalmazottak táblázat tartalma:
Frissítsük az alkalmazott James Bush második telefonszámát, akinek azonosítója 3:
Futtassa a következő parancsot:
UPDATE EmployeesSET contact [ 2 ] = '(408)-589-89347'WHEREid = 3;
A parancsnak sikeresen kell futnia:
Lekérdezzük a táblázatot, hogy ellenőrizzük, a változás sikeres-e:
A változás sikeres volt.
Keresés egy PostgreSQL tömbben
Jelenleg az Alkalmazottak táblázatunk a következő:
Tegyük fel, hogy tudnunk kell, hogy kié a kontakt (408) -783-5731, függetlenül a kontakt tömbön belüli pozíciótól, használhatjuk az ANY () függvényt az alábbiak szerint:
SELECTname,contactFROMEmployeesWHERE'(408)-783-5731' = ANY (contact);
Ez a következőket adja vissza:
Tömbök bővítése
Egy tömb értékeit sorokra oszthatjuk fel. Ez a folyamat tömbbővítés néven ismert.
Az Alkalmazottak táblázat példáján vannak olyan alkalmazottak, akiknek két kapcsolata van a kontakt tömbben. Ezeket külön sorokra oszthatjuk fel.
A PostgreSQL biztosítja a leghátrányosabb () függvényt, amely erre használható.
Például:
SELECTname,unnest(contact)FROMEmployees;
Ez a következőket adja vissza:
Alice John és James Bush alkalmazottainak két kapcsolata van. Külön sorokra oszthatjuk fel.
A pgAdmin használatával
PostgreSQL tömbök létrehozása
Ha ugyanezt szeretné elérni a pgAdmin segítségével, tegye ezt:
1. lépés: Jelentkezzen be pgAdmin-fiókjába.
2. lépés)
- A bal oldali navigációs sávból - Kattintson az rbases elemre.
- Kattintson a Demo gombra
3. lépés: Írja be a lekérdezést a lekérdező szerkesztőbe az Alkalmazottak tábla létrehozásához:
CREATE TABLE Employees (id int PRIMARY KEY,name VARCHAR (100),contact TEXT []);
4. lépés) Kattintson az Execute gombra.
PostgreSQL tömbértékek beszúrása
1. lépés: Írja be a következő lekérdezést a lekérdező szerkesztőbe:
INSERT INTO EmployeesVALUES(1,'Alice John',ARRAY [ '(408)-743-9045','(408)-567-7834' ]);
2. lépés) Kattintson az Execute gombra:
3. lépés)
Göndör zárójelek használata a lekérdezésben
1. lépés: Írja be a következő lekérdezést a lekérdező szerkesztőbe:
INSERT INTO EmployeesVALUES(2,'Kate Joel','{"(408)-783-5731"}'),(3,'James Bush','{"(408)-745-8965","(408)-567-78234"}');
2. lépés) Kattintson az Execute gombra:
Tömbadatok lekérdezése
1. lépés : Az Alkalmazottak tábla tartalmának megtekintéséhez írja be a következő lekérdezést a lekérdező szerkesztőbe:
SELECT * FROM Employees;
2. lépés) Kattintson az Execute gombra:
Ennek vissza kell adnia a következőket:
3. lépés : Az alkalmazottak első kapcsolatainak megtekintése:
- Írja be a következő lekérdezést a lekérdező szerkesztőbe:
SELECT name, contact[1]FROM Employees;
- Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
4. lépés: A SELECT utasítás és a WHERE záradék kombinálása:
- Írja be a következő parancsot a lekérdező szerkesztőbe:
SELECTnameFROMEmployeesWHEREcontact [ 2 ] = '(408)-567-78234';
- Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
A PostgreSQL tömb módosítása
1. lépés: A felhasználó azonosítójának 3 azonosítóval történő frissítéséhez futtassa a következő parancsot:
UPDATE EmployeesSET contact [ 2 ] = '(408)-589-89347'WHEREid = 3;
2. lépés) Kattintson az Execute gombra.
3. lépés)
1. Írja be a következő parancsot a lekérdező szerkesztőbe, hogy ellenőrizze, hogy a változás sikeres-e:
SELECT * FROM Employees;
2. Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Keresés egy PostgreSQL tömbben
1. lépés: Írja be a következő lekérdezést a lekérdező szerkesztőbe:
SELECTname,contactFROMEmployeesWHERE'(408)-783-5731' = ANY (contact);
2. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Tömbök bővítése
1. lépés: Írja be a következő lekérdezést a lekérdező szerkesztőbe:
SELECTname,unnest(contact)FROMEmployees;
2. lépés) Kattintson az Execute gombra.
Ennek vissza kell adnia a következőket:
Összegzés:
- A PostgreSQL lehetővé teszi számunkra, hogy egy tábla oszlopot tömbtípusként definiáljunk.
- A tömbnek érvényes adattípusnak kell lennie, például egész számnak, karakternek vagy felhasználó által definiált típusnak.
- Az értékek tömb oszlopba történő beszúrásához az ARRAY konstruktort használjuk.
- Ha egy tömboszlop ugyanazon sorában egynél több elem van, akkor az első elem az 1. pozícióban van.
- Minden érték elérhetõ, ha egy szekciót szögletes zárójelbe teszünk [].
- A tömb elemeit a SELECT utasítással lehet lekérni.
- A tömboszlop értékei szögletes zárójelbe [] vagy göndör zárójelbe {} foglalhatók.
- Kereshetünk tömb oszlopértékeket az ANY () függvény segítségével.
Töltse le az oktatóanyagban használt adatbázist