A volte potrebbe essere necessario selezionare nell'array, aggiungere all'array o inserire un array di oggetti in PostgreSQL. In questo articolo, vedremo come inserire nell'array in PostgreSQL.
Come inserire nell'array in PostgreSQL
Ecco i passaggi da inserire nell'array in PostgreSQL. Supponiamo che tu abbia la seguente tabella employees(id,name, phone_numbers) tale che la colonna dei numeri di telefono sia una matrice di stringhe.
create table employees (
id int,name varchar,
phone_numbers varchar[]
);
Esistono due sintassi accettate da inserire nell'array in PostgreSQL:una che utilizza la parola chiave ARRAY e l'altra che utilizza virgolette e parentesi graffe.
Utilizzo della parola chiave ARRAY
Ecco la query SQL da inserire nell'array in PostgreSQL usando la parola chiave ARRAY.
# 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}
Nella query precedente, utilizziamo ARRAY ['9998765432','9991234567'] per inserire l'array nella colonna PostgreSQL.
Utilizzo di virgolette singole e parentesi graffe
Possiamo anche inserire nell'array PostgreSQL usando virgolette singole e parentesi graffe come mostrato di seguito.
# 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}
Nell'esempio precedente, utilizziamo '{“9996587432″,”9891334567”}' da inserire nell'array in PostgreSQL.
Si prega di notare, in questo caso, le parentesi graffe devono essere racchiuse tra virgolette singole. Inoltre, poiché stiamo inserendo valori di stringa, devono essere racchiusi tra virgolette doppie, anziché virgolette singole, altrimenti otterrai un errore di sintassi.
Inserisci array di oggetti
Puoi anche inserire un array di oggetti se hai un array di colonne di array in PostgreSQL. Supponiamo che tu abbia la seguente tabella in modo tale che vendite colonna è un array di array.
create table employees (
id int,name varchar,
sales int[][]
);
Ecco la query SQL per inserire un array di oggetti in 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}}
Tieni presente che devi racchiudere ogni oggetto array tra parentesi graffe separate, all'interno delle parentesi graffe principali e delle virgolette singole, '{{ 150.100} ,{ 200.100} }' altrimenti riceverai un errore.
Hai bisogno di uno strumento di reporting per PostgreSQL? Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!