PostgreSQL Array: Fungsi, Jenis, Contoh
โก Ringkasan Cerdas
PostgreSQL Array memungkinkan Anda mendefinisikan kolom tabel sebagai array dari tipe data valid apa pun. Ini mencakup pembuatan kolom array, penyisipan nilai dengan konstruktor ARRAY atau kurung kurawal, kueri dan modifikasi elemen, serta pencarian dengan ANY().

Apa itu PostgreSQL Himpunan?
In PostgreSQLKita dapat mendefinisikan kolom sebagai larik tipe data yang valid. Tipe data tersebut dapat berupa tipe bawaan, tipe yang ditentukan pengguna, atau tipe enumerasi. Selain itu, larik memainkan peran penting dalam PostgreSQL.
Setiap yang sesuai PostgreSQL Tipe data integer memiliki tipe array yang sesuai. Misalnya, tipe data integer memiliki tipe array integer[], tipe data character memiliki tipe array character[], dan seterusnya.
membuat PostgreSQL Array
Dalam contoh berikut, kita akan membuat tabel bernama Karyawan dengan kolom kontak yang didefinisikan sebagai array teks:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
Perintah harus dijalankan dengan sukses.
Memasukkan PostgreSQL Nilai Array
Mari kita sekarang menyisipkan nilai ke dalam tabel di atas:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
Penyisipan akan berjalan dengan sukses.
Nilai-nilai pada kolom ketiga, yaitu kontak, telah dimasukkan sebagai sebuah array. Hal ini dicapai dengan menggunakan konstruktor ARRAY. Dalam contoh ini, kita telah membungkusnya dalam tanda kurung siku []. Kita memiliki dua kontak untuk karyawan Alice John.
Kita masih bisa menggunakan kurung kurawal {} seperti yang ditunjukkan di bawah ini:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
Perintah harus dijalankan dengan sukses.
Pernyataan di atas akan memasukkan dua baris ke dalam tabel Karyawan. Saat menggunakan kurung kurawal, array dibungkus dalam tanda kutip tunggal (') sedangkan item array teks dibungkus dalam tanda kutip ganda (โ).
Meminta Data Array
Untuk menanyakan elemen-elemen dalam sebuah array, kita menggunakan pernyataan SELECT. Untuk melihat isi tabel Karyawan kita, kita menjalankan perintah berikut:
SELECT * FROM Employees;
Ini mengembalikan yang berikut:
Elemen-elemen kolom array, yaitu kontak, telah dikurung dalam tanda kurung kurawal {}. Untuk mengakses elemen-elemen array itu sendiri, kita menambahkan indeks dalam tanda kurung siku []. Elemen pertama dalam array berada pada posisi 1.
Misalnya, kita perlu mendapatkan nama karyawan dan hanya kontak pertama mereka untuk karyawan yang memiliki lebih dari satu kontak. Kita dapat mengakses ini sebagai kontak[1]. Mari kita lihat ini:
SELECT name, contact[1] FROM Employees;
Ini akan mengembalikan hal berikut:
Kita dapat menggunakan pernyataan SELECT bersama dengan klausa WHERE untuk memfilter baris berdasarkan kolom array. Misalnya, untuk melihat karyawan dengan (408)-567-78234 sebagai kontak kedua, kita dapat menjalankan perintah berikut:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
Ini akan mengembalikan hal berikut:
Memodifikasi PostgreSQL susunan
Anda dapat memperbarui seluruh atau satu elemen dari sebuah array. Berikut adalah isi dari tabel Karyawan:
Mari kita perbarui nomor telepon kedua karyawan James Bush, yang idnya 3:
Jalankan perintah berikut:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
Perintah harus dijalankan dengan sukses:
Mari kita menanyakan tabel untuk memeriksa apakah perubahan berhasil:
Perubahan itu berhasil.
Mencari di PostgreSQL susunan
Saat ini, tabel Karyawan kami adalah sebagai berikut:
Misalkan kita perlu mengetahui siapa pemilik kontak (408)-783-5731 terlepas dari posisinya dalam array kontak. Kita dapat menggunakan fungsi ANY() seperti yang ditunjukkan di bawah ini:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
Ini akan mengembalikan hal berikut:
Memperluas Array
Kita dapat memisahkan nilai-nilai dalam sebuah array menjadi beberapa baris. Proses ini dikenal sebagai perluasan array. Dalam contoh tabel Karyawan, terdapat beberapa karyawan dengan dua kontak dalam array kontak. Kita dapat memisahkan ini menjadi baris-baris terpisah. PostgreSQL menyediakan fungsi unnest() yang dapat digunakan untuk ini. Misalnya:
SELECT name, unnest(contact) FROM Employees;
Ini akan mengembalikan hal berikut:
Karyawan Alice John dan James Bush memiliki dua kontak. Kita dapat memisahkan ini ke dalam baris terpisah.
Menggunakan pgAdmin
membuat PostgreSQL Array
Untuk mencapai hal yang sama melalui pgAdmin, lakukan ini:
Langkah 1) Masuk ke akun pgAdmin Anda.
Langkah 2)
- Dari bilah navigasi di sebelah kiri, klik Database.
- Klik tombol Demo.
Langkah 3) Ketik kueri di editor kueri untuk membuat tabel Karyawan:
CREATE TABLE Employees ( id int PRIMARY KEY, name VARCHAR (100), contact TEXT [] );
Langkah 4) Klik tombol Jalankan.
Memasukkan PostgreSQL Nilai Array
Langkah 1) Ketik pertanyaan berikut di editor pertanyaan:
INSERT INTO Employees VALUES ( 1, 'Alice John', ARRAY [ '(408)-743-9045', '(408)-567-7834' ] );
Langkah 2) Klik tombol Jalankan:
Langkah 3) Untuk menggunakan tanda kurung kurawal dalam kueri, ketik kueri berikut di editor kueri:
INSERT INTO Employees VALUES ( 2, 'Kate Joel', '{"(408)-783-5731"}' ), ( 3, 'James Bush', '{"(408)-745-8965","(408)-567-78234"}' );
Kemudian klik tombol Eksekusi:
Meminta Data Array
Langkah 1) Untuk melihat isi tabel Karyawan, ketik kueri berikut di editor kueri:
SELECT * FROM Employees;
Langkah 2) Klik tombol Jalankan:
Seharusnya mengembalikan hal berikut:
Langkah 3) Untuk melihat kontak pertama karyawan, ketik kueri berikut di editor kueri dan klik tombol Eksekusi:
SELECT name, contact[1] FROM Employees;
Seharusnya mengembalikan hal berikut:
Langkah 4) Untuk menggabungkan pernyataan SELECT dengan klausa WHERE, ketik perintah berikut di editor kueri dan klik tombol Eksekusi:
SELECT name FROM Employees WHERE contact [ 2 ] = '(408)-567-78234';
Seharusnya mengembalikan hal berikut:
Memodifikasi PostgreSQL susunan
Langkah 1) Untuk memperbarui kontak kedua pengguna dengan ID 3, jalankan perintah berikut:
UPDATE Employees SET contact [ 2 ] = '(408)-589-89347' WHERE id = 3;
Langkah 2) Klik tombol Jalankan.
Langkah 3) Ketik perintah berikut di editor kueri untuk memeriksa apakah perubahan berhasil, lalu klik tombol Eksekusi:
SELECT * FROM Employees;
Seharusnya mengembalikan hal berikut:
Mencari di PostgreSQL susunan
Langkah 1) Ketik pertanyaan berikut di editor pertanyaan:
SELECT name, contact FROM Employees WHERE '(408)-783-5731' = ANY (contact);
Langkah 2) Klik tombol Jalankan.
Seharusnya mengembalikan hal berikut:
Memperluas Array
Langkah 1) Ketik pertanyaan berikut di editor pertanyaan:
SELECT name, unnest(contact) FROM Employees;
Langkah 2) Klik tombol Jalankan.
Seharusnya mengembalikan hal berikut:
Unduh Database yang digunakan dalam Tutorial ini






























