Podstawy kolumn tablicowych
Twórz i odczytuj wartości tablicowe
Podstawy kolumn tablicowych to bezpłatna lekcja SQL Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej SQL Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs SQL Academy zawiera 4 lekcji w sumie.
Czym jest kolumna tablicowa
PostgreSQL obsługuje kolumny tablicowe, które pozwalają przechowywać wiele wartości tego samego typu w jednej komórce. Zamiast przechowywać tekst rozdzielony przecinkami, otrzymują Państwo prawidłową listę z określonym typem, którą można przeszukiwać, indeksować i modyfikować za pomocą wbudowanych funkcji.
Tablice mogą przechowywać liczby całkowite, tekst, wartości logiczne, daty oraz dowolne inne typy PostgreSQL. Składnia wygląda na przykład tak: integer[] lub text[].
Deklarowanie kolumny tablicowej
Aby zadeklarować kolumnę tablicową w instrukcji CREATE TABLE, należy dodać [] po nazwie dowolnego typu. Poniższa tabela przechowuje listę tagów dla każdego artykułu.
CREATE TABLE articles (
id serial PRIMARY KEY,
title text NOT NULL,
tags text[]
);Wstawianie wartości tablicowych
Aby wstawić dane tablicowe, należy użyć literałów w nawiasach klamrowych ujętych w pojedyncze cudzysłowy. Każdy element jest oddzielony przecinkiem wewnątrz nawiasów: '{"sql","database"}'.
Alternatywnie można użyć składni konstruktora ARRAY[...] pokazanej w drugim wierszu.
INSERT INTO articles (title, tags) VALUES
('Intro to SQL', '{"sql","beginner"}'),
('Advanced Joins', ARRAY['sql','joins','performance']),
('NULL Handling', '{"sql","nulls","tips"}');Odczytywanie całej tablicy
Wybieranie kolumny tablicowej działa tak samo jak wybieranie dowolnej innej kolumny. PostgreSQL zwraca całą tablicę jako pojedynczą wartość w zbiorze wyników, wyświetlaną w formacie nawiasów klamrowych.
SELECT id, title, tags
FROM articles;Dostęp do pojedynczego elementu
Indeksy tablic w PostgreSQL są 1-based (pierwszy element znajduje się pod indeksem 1, a nie 0). Aby uzyskać dostęp do konkretnego elementu, należy użyć nawiasów kwadratowych po nazwie kolumny.
SELECT title,
tags[1] AS first_tag,
tags[2] AS second_tag
FROM articles;Wycinanie fragmentu tablicy
Zakres elementów można wyodrębnić za pomocą składni wycinka lower:upper wewnątrz nawiasów kwadratowych. Obie granice są włączne.
SELECT title,
tags[1:2] AS first_two_tags
FROM articles;Filtrowanie za pomocą ANY
Aby znaleźć wiersze, w których tablica zawiera określoną wartość, należy użyć wyrażenia = ANY(column). Zwraca ono wiersze, w których co najmniej jeden element tablicy pasuje do podanej wartości.
SELECT id, title, tags
FROM articles
WHERE 'joins' = ANY(tags);Filtrowanie za pomocą operatora @>
Operator zawierania @> sprawdza, czy lewa tablica zawiera wszystkie elementy prawej tablicy. Jest przydatny, gdy potrzebne są wiersze zawierające określony zestaw tagów.
SELECT id, title, tags
FROM articles
WHERE tags @> ARRAY['sql','tips'];Pobieranie długości tablicy
Funkcja array_length(arr, dimension) zwraca liczbę elementów wzdłuż podanego wymiaru. W przypadku tablicy jednowymiarowej jako drugi argument należy użyć wartości 1.
SELECT title,
array_length(tags, 1) AS tag_count
FROM articles
ORDER BY tag_count DESC;Dodawanie elementów
Aby dodać nowy element na końcu istniejącej kolumny tablicowej, należy użyć funkcji array_append(array, element) lub operatora konkatenacji ||.
UPDATE articles
SET tags = array_append(tags, 'featured')
WHERE title = 'Intro to SQL';
SELECT title, tags FROM articles WHERE title = 'Intro to SQL';Rozwijanie tablicy do wierszy
Funkcja unnest(array) rozwija tablicę do zbioru wierszy — po jednym wierszu na element. Jest to przydatne w przypadku agregacji, złączeń lub dowolnych operacji, które wymagają osobnego przetwarzania każdego elementu.
SELECT title, unnest(tags) AS tag
FROM articles
ORDER BY title, tag;Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat kolumn tablicowych PostgreSQL.
Podsumowanie: podstawy kolumn tablicowych
W tej lekcji poznali Państwo działanie kolumn tablicowych PostgreSQL od początku do końca:
- Deklarowanie tablic za pomocą składni
type[]w instrukcjiCREATE TABLE - Wstawianie wartości za pomocą literałów w nawiasach klamrowych lub składni
ARRAY[...] - Dostęp do elementów za pomocą indeksu zaczynającego się od 1 oraz wycinków z użyciem składni
lower:upper - Filtrowanie za pomocą
= ANY(col)dla pojedynczej wartości lub@>dla podzbioru - Sprawdzanie długości za pomocą
array_length(col, 1) - Dodawanie elementów za pomocą
array_append()lub|| - Rozwijanie tablic do wierszy za pomocą
unnest()
Tablice to zaawansowana funkcja PostgreSQL, która może uprościć schematy, gdy lista wartości należy do jednej encji.
Często zadawane pytania
Czy lekcja „Podstawy kolumn tablicowych” jest bezpłatna?
Tak — pełny tekst „Podstawy kolumn tablicowych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu SQL Academy, przejdź na CoddyKit PRO. Kurs SQL Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podstawy kolumn tablicowych”?
Twórz i odczytuj wartości tablicowe Ćwiczysz SQL Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć SQL Academy?
Nie wymagamy żadnego doświadczenia. SQL Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Podstawy kolumn tablicowych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji SQL Academy?
Tak. Każda lekcja SQL Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy kolumn tablicowych
- Wyszukiwanie wewnątrz tablic
- UNNEST i agregowanie
- Tablice a znormalizowane tabele