Kas ir PostgreSQL masīvs?
PostgreSQL kolonnu varam definēt kā derīgu datu tipu masīvu. Datu tips var būt iebūvēts, lietotāja definēts vai uzskaitīts. Izņemot šo, masīviem ir svarīga loma PostgreSQL.
Katram atbilstošajam PostgreSQL datu tipam ir atbilstošs masīva tips. Piemēram, vesela skaitļa datu tipam ir vesera skaitļa [] masīva tips, rakstzīmju datu tipam ir rakstura [] masīva tips utt.
Šajā PostgreSQL apmācībā jūs uzzināsiet:
- Kas ir PostgreSQL masīvs?
- PostgreSQL masīvu izveide
- PostgreSQL masīva vērtību ievietošana
- Masīva datu vaicāšana
- PostgreSQL masīva modificēšana
- Meklēšana PostgreSQL masīvā
- Masīvu paplašināšana
- Izmantojot pgAdmin
PostgreSQL masīvu izveide
Šajā piemērā mēs izveidosim tabulu Darbinieki ar kontaktu kolonnu, kas definēta kā teksta masīvs:
CREATE TABLE Employees (id int PRIMARY KEY,name VARCHAR (100),contact TEXT []);
Komandai vajadzētu darboties veiksmīgi.
PostgreSQL masīva vērtību ievietošana
Tagad ievietosim vērtības iepriekš minētajā tabulā:
INSERT INTO EmployeesVALUES(1,'Alice John',ARRAY [ '(408)-743-9045','(408)-567-7834' ]);
Ievietošanai vajadzētu veiksmīgi darboties.
Trešās kolonnas, tas ir, kontakta, vērtības ir ievietotas kā masīvs. Tas ir panākts, izmantojot ARRAY konstruktoru.
Šajā piemērā mēs tos esam ievietojuši kvadrātiekavās []. Mums ir divi kontakti ar darbinieku Alisi Džonu.
Mums joprojām ir iespējams izmantot cirtainās breketes {}, kā parādīts zemāk:
INSERT INTO EmployeesVALUES(2,'Kate Joel','{"(408)-783-5731"}'),(3,'James Bush','{"(408)-745-8965","(408)-567-78234"}');
Komandai vajadzētu darboties veiksmīgi.
Iepriekš minētie apgalvojumi tabulā Darbinieki ievietos divas rindas. Izmantojot cirtainās lencītes, masīvs tiek iesaiņots atsevišķās pēdiņās ('), bet teksta masīva vienumi - divās pēdiņās (").
Masīva datu vaicāšana
Lai vaicātu masīva elementus, mēs izmantojam SELECT.
Lai skatītu tabulas Darbinieki saturu, mēs izpildām šādu komandu:
SELECT * FROM Employees;
Tādējādi tiek parādīts:
Masīva kolonnas elementi, tas ir, kontakts, ir iekļauti cirtainās lencēs {}.
Lai piekļūtu pašiem masīva elementiem, kvadrātiekavās pievienojam apakšindeksu []. Masīva pirmais elements atrodas 1. pozīcijā.
Piemēram, mums jāsaņem darbinieku vārdi un tikai viņu pirmais kontakts tiem darbiniekiem, kuriem ir vairāk nekā viens kontakts. Mēs tam varam piekļūt kā kontaktpersona [1].
Ļaujiet mums to redzēt:
SELECT name, contact[1]FROM Employees;
Tas atgriezīs:
Mēs varam izmantot komandu SELECT ar klauzulu WHERE, lai filtrētu rindas, pamatojoties uz masīva kolonnu.
Piemēram, lai redzētu darbinieku ar (408) -567-78234 kā otro kontaktu, mēs varam izpildīt šādu komandu:
SELECTnameFROMEmployeesWHEREcontact [ 2 ] = '(408)-567-78234';
Tas atgriezīs:
PostgreSQL masīva modificēšana
Jūs varat atjaunināt visu vai vienu masīva elementu.
Šeit ir tabulas Darbinieki saturs:
Atjaunināsim darbinieka Džeimsa Buša, kura ID ir 3, otro tālruņa numuru:
Palaidiet šādu komandu:
UPDATE EmployeesSET contact [ 2 ] = '(408)-589-89347'WHEREid = 3;
Komandai vajadzētu darboties veiksmīgi:
Ļaujiet mums vaicāt tabulā, lai pārbaudītu, vai izmaiņas bija veiksmīgas:
Pārmaiņas bija veiksmīgas.
Meklēšana PostgreSQL masīvā
Pašlaik mūsu darbinieku tabula ir šāda:
Pieņemsim, ka mums jāzina, kam pieder kontakts (408) -783-5731 neatkarīgi no atrašanās vietas kontaktu masīvā, mēs varam izmantot funkciju JEBKURA (), kā parādīts zemāk:
SELECTname,contactFROMEmployeesWHERE'(408)-783-5731' = ANY (contact);
Tas atgriezīs:
Masīvu paplašināšana
Masīva vērtības mēs varam sadalīt rindās. Šis process ir pazīstams kā masīva paplašināšana.
Darbinieku tabulas piemērā kontaktu masīvā ir daži darbinieki ar diviem kontaktiem. Mēs tos varam sadalīt atsevišķās rindās.
PostgreSQL nodrošina visneciešāko () funkciju, ko var izmantot šim nolūkam.
Piemēram:
SELECTname,unnest(contact)FROMEmployees;
Tas atgriezīs:
Darbiniekiem Alisei Džonam un Džeimsam Bušam ir divi kontakti. Mēs varam sadalīt atsevišķās rindās.
Izmantojot pgAdmin
PostgreSQL masīvu izveide
Lai to paveiktu, izmantojot pgAdmin, rīkojieties šādi:
1. darbība. Piesakieties savā pgAdmin kontā.
2. solis)
- No kreisās puses navigācijas joslas noklikšķiniet uz rbases.
- Noklikšķiniet uz pogas Demo
3. solis. Vaicājuma redaktorā ierakstiet vaicājumu, lai izveidotu tabulu Darbinieki:
CREATE TABLE Employees (id int PRIMARY KEY,name VARCHAR (100),contact TEXT []);
4. solis) Noklikšķiniet uz pogas Izpildīt.
PostgreSQL masīva vērtību ievietošana
1. darbība. Vaicājuma redaktorā ierakstiet šādu vaicājumu:
INSERT INTO EmployeesVALUES(1,'Alice John',ARRAY [ '(408)-743-9045','(408)-567-7834' ]);
2. solis) Noklikšķiniet uz pogas Izpildīt:
3. solis)
Lai vaicājumā izmantotu cirtainās lencītes
1. darbība. Vaicājuma redaktorā ierakstiet šādu vaicājumu:
INSERT INTO EmployeesVALUES(2,'Kate Joel','{"(408)-783-5731"}'),(3,'James Bush','{"(408)-745-8965","(408)-567-78234"}');
2. solis) Noklikšķiniet uz pogas Izpildīt:
Masīva datu vaicāšana
1. darbība. Lai skatītu tabulas Darbinieki saturu, vaicājumu redaktorā ierakstiet šādu vaicājumu:
SELECT * FROM Employees;
2. solis) Noklikšķiniet uz pogas Izpildīt:
Tam jāatgriež:
3. solis. Lai redzētu darbinieku pirmos kontaktus:
- Vaicājumu redaktorā ierakstiet šādu vaicājumu:
SELECT name, contact[1]FROM Employees;
- Noklikšķiniet uz pogas Izpildīt.
Tam jāatgriež:
4. solis. Lai apvienotu priekšrakstu SELECT ar klauzulu WHERE:
- Vaicājuma redaktorā ierakstiet šādu komandu:
SELECTnameFROMEmployeesWHEREcontact [ 2 ] = '(408)-567-78234';
- Noklikšķiniet uz pogas Izpildīt.
Tam jāatgriež:
PostgreSQL masīva modificēšana
1. darbība. Lai atjauninātu lietotāja otro kontaktu ar ID 3, izpildiet šādu komandu:
UPDATE EmployeesSET contact [ 2 ] = '(408)-589-89347'WHEREid = 3;
2. solis) Noklikšķiniet uz pogas Izpildīt.
3. solis)
1. Lai pārbaudītu, vai izmaiņas ir veiksmīgas, vaicājumu redaktorā ierakstiet šādu komandu:
SELECT * FROM Employees;
2. Noklikšķiniet uz pogas Izpildīt.
Tam jāatgriež:
Meklēšana PostgreSQL masīvā
1. darbība. Vaicājuma redaktorā ierakstiet šādu vaicājumu:
SELECTname,contactFROMEmployeesWHERE'(408)-783-5731' = ANY (contact);
2. solis) Noklikšķiniet uz pogas Izpildīt.
Tam jāatgriež:
Masīvu paplašināšana
1. darbība. Vaicājuma redaktorā ierakstiet šādu vaicājumu:
SELECTname,unnest(contact)FROMEmployees;
2. solis) Noklikšķiniet uz pogas Izpildīt.
Tam jāatgriež:
Kopsavilkums:
- PostgreSQL ļauj mums definēt tabulas kolonnu kā masīva tipu.
- Masīvam jābūt derīgam datu tipam, piemēram, vesels skaitlis, rakstzīme vai lietotāja definēti tipi.
- Lai ievietotu vērtības masīva kolonnā, mēs izmantojam ARRAY konstruktoru.
- Ja masīva kolonnas vienā rindā ir vairāk nekā viens elements, pirmais elements atrodas 1. pozīcijā.
- Katrai vērtībai var piekļūt, laužot iekavās kvadrātiekavās [].
- Masīva elementus var izgūt, izmantojot SELECT.
- Masīva kolonnas vērtības var ievietot kvadrātiekavās [] vai cirtainās iekavās {}.
- Mēs varam meklēt masīva kolonnu vērtības, izmantojot funkciju ANY ().
Lejupielādējiet šajā apmācībā izmantoto datu bāzi