Nogle gange skal du muligvis vælge i array, tilføje til array eller indsætte array af objekter i PostgreSQL. I denne artikel vil vi se på, hvordan man indsætter i array i PostgreSQL.
Sådan indsættes i Array i PostgreSQL
Her er trinene til at indsætte i array i PostgreSQL. Lad os sige, at du har følgende tabel medarbejdere(id,navn, telefonnumre) sådan at kolonnen med telefonnumre er en række strenge.
create table employees (
id int,name varchar,
phone_numbers varchar[]
);
Der er to accepterede syntakser at indsætte i array i PostgreSQL – den ene bruger ARRAY nøgleord, og den anden bruger anførselstegn og krøllede klammeparenteser.
Brug af ARRAY søgeord
Her er SQL-forespørgslen, der skal indsættes i array i PostgreSQL ved hjælp af ARRAY nøgleord.
# insert into employees (id, name, phone_numbers) values (1, ' John Doe', ARRAY ['9998765432','9991234567']); # select * from employees; id | name | phone_numbers ----+-----------+------------------------- 1 | John Doe | {9998765432,9991234567}
I ovenstående forespørgsel bruger vi ARRAY [‘9998765432′,’9991234567’] for at indsætte array i PostgreSQL-kolonnen.
Brug af enkelte anførselstegn og krøllede seler
Vi kan også indsætte i PostgreSQL-array ved hjælp af enkelte anførselstegn og krøllede seler som vist nedenfor.
# insert into employees (id, name, phone_numbers) values (2, ' Jim Doe', '{"9996587432","9891334567"}'); # select * from employees; id | name | phone_numbers ----+-----------+------------------------- 1 | John Doe | {9998765432,9991234567} 2 | Jim Doe | {9996587432,9891334567}
I ovenstående eksempel bruger vi ‘{“9996587432″,”9891334567”}’ at indsætte i array i PostgreSQL.
Bemærk venligst, at de krøllede seler i dette tilfælde skal være omgivet af enkelte anførselstegn. Da vi også indsætter strengværdier, skal de være omgivet af dobbelte anførselstegn i stedet for enkelte anførselstegn, ellers får du en syntaksfejl.
Indsæt array af objekter
Du kan også indsætte array af objekter, hvis du har en array af array-søjle i PostgreSQL. Lad os sige, at du har følgende tabel, så salg kolonne er en matrix af matrix.
create table employees (
id int,name varchar,
sales int[][]
);
Her er SQL-forespørgslen til at indsætte en række objekter i PostgreSQL.
# insert into employees (id, name, sales) values (2, ' Jim Doe', '{{150,100},{200,100}}'); # select * from employees; id | name | sales ----+----------+----------------------- 2 | Jim Doe | {{150,100},{200,100}}
Bemærk venligst, at du skal omslutte hvert array-objekt i separate krøllede klammeparenteser inden for de vigtigste krøllede klammeparenteser og enkelte anførselstegn, ‘{{ 150.100} ,{ 200.100} }' ellers får du en fejl.
Har du brug for et rapporteringsværktøj til PostgreSQL? Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!