PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zaktualizować tablicę w PostgreSQL

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ś!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najlepsze rozwiązania DBaaS dla PostgreSQL

  2. Używanie wielu schematów PostgreSQL z modelami Rails

  3. Uzyskaj liczbę rekordów, których dotyczy INSERT lub UPDATE w PostgreSQL

  4. Zapomniałem hasła, które wprowadziłem podczas instalacji postgres

  5. Wydajność OLTP od PostgreSQL 8.3