sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan indsættes i Array i PostgreSQL

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!

  1. PHP til at gemme billeder i MySQL eller ej?

  2. Hvordan kan jeg vise tabelstrukturen i SQL Server-forespørgsel?

  3. Oracle REPLACE()-funktionen håndterer ikke vognretur og linjefeeds

  4. SQL-server AlwaysOn-tilgængelighedsgrupper:Installation og konfiguration. Del 2