PostgreSQL улеснява работата с тип данни от масив. Понякога може да се наложи да актуализирате масива в PostgreSQL с нови данни. В тази статия ще разгледаме как да променим масива в PostgreSQL, да променим масива в PostgreSQL и да обединим масиви в PostgreSQL.
Как да актуализирате масив в PostgreSQL
Ето различните начини за актуализиране на масив в PostgreSQL. Да кажем, че имате следната колона на масива.
#create table employees (
id int,
name varchar,
sales integer[]
);
В горния пример създадохме колона продажби като масив от цели числа.
Нека също така вмъкнем данни в колоната на нашия масив.
# 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}
Заменете всички елементи в масив
Можете лесно да замените всички елементи на масив, като използвате оператор 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}
В горния оператор UPDATE ние предоставяме стойности на масив в къдрави скоби, затворени в единични кавички. Postgres ще замени целия масив за редове, които отговарят на условието WHERE.
Заменете някои елементи в масив
Можете също да замените определени елементи от масива, както е показано по-долу.
=# 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}
В горния израз ние заменяме само втория елемент на масива, като задаваме стойност на sales[2].
Добавяне и добавяне към масив
Вие също така добавяте и добавяте стойности към своя масив с помощта на array_append и предварителен_масив функции съответно, както е показано по-долу.
# 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}
Ето заявката за добавяне към масив.
# 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}
Моля, обърнете внимание, в array_append , трябва да посочите стойността, която да бъде добавена като втори аргумент във функцията. В случай на array_prepend , трябва да го посочите като първи елемент.
Премахване на елемент от масив
По подобен начин можете да използвате array_remove функция за премахване на елемент от масива.
# select array_remove(sales, 9) as reduced_array from employees where id=1; reduced_array -------------------- {10,41,31,10,11,1}
В array_remove трябва да посочите елемента на масива, който искате да премахнете.
Обединяване на масиви в PostgreSQL
Можете да обедините два масива в PostgreSQL с помощта на array_cat функция
# 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}
В array_cat функция, можете да предадете колона на масива или да използвате литерален обект ARRAY.
Нуждаете се от инструмент за отчитане за PostgreSQL? Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!