PostgreSQL memudahkan bekerja dengan tipe data array. Terkadang Anda mungkin perlu memperbarui array di PostgreSQL dengan data baru. Pada artikel ini, kita akan melihat cara mengubah array di PostgreSQL, memodifikasi array di PostgreSQL, dan menggabungkan array di PostgreSQL.
Cara Memperbarui Array di PostgreSQL
Berikut adalah berbagai cara untuk memperbarui array di PostgreSQL. Katakanlah Anda memiliki kolom array berikut.
#create table employees (
id int,
name varchar,
sales integer[]
);
Pada contoh di atas, kami telah membuat kolom penjualan sebagai array bilangan bulat.
Mari kita juga menyisipkan data di kolom array kita.
# 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}
Ganti semua elemen dalam Array
Anda dapat dengan mudah mengganti semua elemen array menggunakan pernyataan 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}
Dalam pernyataan UPDATE di atas, kami memberikan nilai array di dalam kurung kurawal yang diapit tanda kutip tunggal. Postgres akan menggantikan seluruh larik untuk baris yang cocok dengan kondisi WHERE.
Ganti beberapa elemen dalam Array
Anda juga dapat mengganti elemen array tertentu seperti yang ditunjukkan di bawah ini.
=# 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}
Dalam pernyataan di atas, kami hanya mengganti elemen larik kedua dengan menetapkan nilai penjualan[2].
Tambahkan dan Tambahkan ke Array
Anda juga menambahkan dan menambahkan nilai ke array Anda menggunakan array_append dan array_prepend fungsi masing-masing, seperti yang ditunjukkan di bawah ini.
# 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}
Berikut adalah kueri untuk menambahkan ke array.
# 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}
Harap dicatat, di array_append , Anda perlu menentukan nilai yang akan ditambahkan sebagai argumen kedua dalam fungsi. Dalam kasus array_prepend , Anda perlu menentukannya sebagai elemen pertama.
Hapus elemen larik
Demikian pula, Anda dapat menggunakan array_remove berfungsi untuk menghapus elemen dari array.
# select array_remove(sales, 9) as reduced_array from employees where id=1; reduced_array -------------------- {10,41,31,10,11,1}
Di array_remove Anda perlu menentukan elemen larik yang ingin Anda hapus.
Gabungkan Array di PostgreSQL
Anda dapat menggabungkan dua array di PostgreSQL menggunakan array_cat fungsi
# 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}
Di array_cat fungsi, Anda dapat melewati kolom array atau menggunakan objek literal ARRAY.
Butuh alat pelaporan untuk PostgreSQL? Ubiq memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!