Array
Ushbu qo'llanmada siz PostgreSQL massivi bilan qanday ishlashni va massivni manipulyatsiya qilish uchun ba'zi qulay funktsiyalardan qanday foydalanishni o'rganasiz.
PostgreSQL-da bir xil ma'lumotlar turiga ega bo'lgan elementlar to'plami.
Massivlar bir o'lchovli, ko'p o'lchovli va hatto ichki qatorlar bo'lishi mumkin.
Har bir maʼlumot turi oʻzining qoʻshimcha massiv turiga ega, masalan, butun sonda integer[] massiv turi, belgilarda character[] massiv tipi mavjud.
Agar siz foydalanuvchi tomonidan belgilangan ma'lumotlar turini aniqlasangiz, PostgreSQL siz uchun avtomatik ravishda mos keladigan massiv turini ham yaratadi.
Massiv turiga ega ustunni aniqlash uchun siz quyidagi sintaksisdan foydalanasiz
column_name datatype []Sintaksisda biz ma'lumotlar turining bir o'lchovli massivini aniqlaymiz.
Masalan, quyidagi bayonot matn massivi bilan belgilangan phones ustuni bilan contacts deb nomlangan yangi jadval yaratadi.
CREATE TABLE contacts (
id SERIAL PRIMARY KEY,
name VARCHAR (100),
phones TEXT []
);phones ustuni bir o'lchovli massiv bo'lib, unda kontaktda bo'lishi mumkin bo'lgan turli telefon raqamlari mavjud.
Ko'p o'lchovli massivni aniqlash uchun siz kvadrat qavslarni qo'shishingiz kerak.
Masalan, ikki o'lchovli massivni quyidagicha belgilashingiz mumkin:
column_name data_type [][]Massivga ma'lumotlarni kiritish
Quyidagi bayonot kontaktlar jadvaliga yangi kontaktni kiritadi.
Ushbu misolda biz massiv qurish va uni contacts jadvaliga kiritish uchun ARRAY konstruktoridan foydalanamiz.
Shu bilan bir qatorda, jingalak qavslardan quyidagi tarzda foydalanishingiz mumkin:
Ushbu bayonotda biz contacts jadvaliga ikkita qatorni kiritamiz.
E'tibor bering, jingalak qavslardan foydalanganda siz massivni o'rash uchun "yagona tirnoq" - (') dan, matn massivi elementlarini o'rash uchun "ikki tirnoq" - (") dan foydalanasiz.
Massiv maʼlumotlari soʻraash
Quyidagi bayonot contacts jadvalidan ma'lumotlarni oladi:
Chiqish:
Massiv elementiga kirish uchun siz kvadrat qavslar ichidagi pastki belgidan foydalanasiz [].
Odatiy bo'lib, PostgreSQL massiv elementlari uchun bitta asoslangan raqamlashni qo'llaydi. Bu birinchi massiv elementi 1 raqamidan boshlanishini bildiradi.
Quyidagi bayonot kontaktning ismini va birinchi telefon raqamini oladi:
Chiqish:
Qatorlarni filtrlash sharti sifatida WHERE bandidagi massiv elementidan foydalanishingiz mumkin.
Masalan, quyidagi soʻrov ikkinchi telefon raqami sifatida (408)-589-58423 telefon raqamiga ega boʻlgan kontaktlarni topadi:
Chiqish:
PostgreSQL massivini o'zgartirish
PostgreSQL massivning har bir elementini yoki butun massivni yangilash imkonini beradi.
Quyidagi bayonot Uilyam Geytning ikkinchi telefon raqamini yangilaydi.
Chiqish:
Quyidagi bayonot butun massivni yangilaydi.
Chiqish:
PostgreSQL massivida qidiruv:
Aytaylik, siz (408)-589-5555 telefon raqamiga kim ega ekanligini bilmoqchi bo'lsangiz, telefon raqamining phones massividagi joylashuvidan qat'i nazar, ANY() funksiyasidan quyidagicha foydalanishingiz mumkin:
Chiqish:
Massivlarni kengaytirish
PostgreSQL massivni qatorlar roʻyxatiga kengaytirish uchun unnest() funksiyasini taqdim etadi. Masalan, quyidagi so'rov phones qatorining barcha telefon raqamlarini kengaytiradi.
Chiqish:
Xulosa:
PostgreSQL-da massiv bir xil turdagi ma'lumotlarga ega bo'lgan elementlar to'plamidir.
Ustun uchun bir o'lchovli massivni aniqlash uchun
data_type []dan foydalaning.Massivning
indekselementiga kirish uchun[indeks]sintaksisidan foydalaning. Birinchi element bitta indeksga ega.Massivni qatorlar roʻyxatiga kengaytirish uchun
unnest()funksiyasidan foydalaning.
Last updated
Was this helpful?