PostgreSQL ułatwia pracę z danymi typu tablica. Czasami może zajść potrzeba aktualizacji tablicy w PostgreSQL o nowe dane. W tym artykule przyjrzymy się, jak zmienić tablicę w PostgreSQL, zmodyfikować tablicę w PostgreSQL i scalić tablice w PostgreSQL.
Jak zaktualizować tablicę w PostgreSQL
Oto różne sposoby aktualizacji tablicy w PostgreSQL. Powiedzmy, że masz następującą kolumnę tablicy.
#create table employees (id int,name varchar,sales integer[]);
W powyższym przykładzie utworzyliśmy kolumnę sprzedaż jako tablica liczb całkowitych.
Wstawmy również dane do naszej kolumny tablicy.
# insert into employees (id, name, sales)
values (1, ' John Doe', ARRAY [9,7,5,4,3,2]),
(2, ' Jim Day', ARRAY [8,6,3,2,9,2]);
# select * from employees;
id | name | sales
----+-----------+---------------
1 | John Doe | {9,7,5,4,3,2}
2 | Jim Day | {8,6,3,2,9,2}
Zamień wszystkie elementy w tablicy
Możesz łatwo zastąpić wszystkie elementy tablicy za pomocą instrukcji UPDATE … SET.
# update employees
set sales = '{10,12,31,10,11}'
where id=1;
# select * from employees;
id | name | sales
----+-----------+------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {10,12,31,10,11} W powyższym poleceniu UPDATE podajemy wartości tablicowe w nawiasach klamrowych ujętych w pojedyncze cudzysłowy. Postgres zastąpi całą tablicę wierszami spełniającymi warunek WHERE.
Zamień niektóre elementy w tablicy
Możesz także zastąpić określone elementy tablicy, jak pokazano poniżej.
=# update employees
set sales[2] = 41
where id=1;
# select * from employees;
id | name | sales
----+-----------+------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {10,41,31,10,11}
W powyższym oświadczeniu zastępujemy tylko drugi element tablicy, ustawiając wartość sales[2].
Dołączanie i dołączanie do tablicy
Dołączasz również i dołączasz wartości do swojej tablicy za pomocą array_append i array_prepend funkcje odpowiednio, jak pokazano poniżej.
# update employees
set sales = array_append(sales, 1)
where id=1;
# select * from employees;
id | name | sales
----+-----------+--------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {10,41,31,10,11,1}
Oto zapytanie, które należy dodać do tablicy.
# update employees
set sales = array_prepend(9,sales)
where id=1;
# select * from employees;
id | name | sales
----+-----------+----------------------
2 | Jim Day | {8,6,3,2,9,2}
1 | John Doe | {9,10,41,31,10,11,1}
Pamiętaj, że w array_append , musisz określić wartość, która ma być dołączona jako drugi argument w funkcji. W przypadku array_prepend , musisz określić go jako pierwszy element.
Usuń element tablicy
Podobnie możesz użyć array_remove funkcja do usunięcia elementu z tablicy.
# select array_remove(sales, 9) as reduced_array from employees where id=1;
reduced_array
--------------------
{10,41,31,10,11,1} W array_remove musisz określić element tablicy, który chcesz usunąć.
Scal tablice w PostgreSQL
Możesz połączyć dwie tablice w PostgreSQL za pomocą array_cat funkcja
# select array_cat(sales, '{9,3}') as merged_array
from employees where id=1;
merged_array
--------------------------
{9,10,41,31,10,11,1,9,3}
# select array_cat(array[1,2],'{9,3}') as merged_array
from employees where id=1;
merged_array
--------------
{1,2,9,3} W array_cat funkcji, możesz przekazać kolumnę tablicy lub użyć obiektu literału ARRAY.
Potrzebujesz narzędzia do raportowania dla PostgreSQL? Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!