0Pricing
SQL Academy · Lekcja

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 instrukcji CREATE 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

  1. Podstawy kolumn tablicowych
  2. Wyszukiwanie wewnątrz tablic
  3. UNNEST i agregowanie
  4. Tablice a znormalizowane tabele
← Powrót do SQL Academy