Grundlagen von Array-Spalten
Array-Werte erstellen und lesen
Grundlagen von Array-Spalten ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist eine Array-Spalte?
PostgreSQL unterstützt Array-Spalten, in denen eine einzelne Zelle mehrere Werte desselben Typs enthalten kann. Anstatt durch Kommas getrennten Text zu speichern, erhalten Sie eine richtig typisierte Liste, die Sie abfragen, indizieren und mit integrierten Funktionen bearbeiten können.
Arrays können Ganzzahlen, Text, boolesche Werte, Datumsangaben oder jeden anderen PostgreSQL-Typ enthalten. Die Syntax sieht wie integer[] oder text[] aus.
Eine Array-Spalte deklarieren
Fügen Sie beim Schreiben einer CREATE TABLE-Anweisung nach jedem Typnamen [] hinzu, um eine Array-Spalte zu deklarieren. Die folgende Tabelle speichert eine Liste von Tags für jeden Artikel.
CREATE TABLE articles (
id serial PRIMARY KEY,
title text NOT NULL,
tags text[]
);Array-Werte einfügen
Verwenden Sie in einfache Anführungszeichen eingeschlossene Literale mit geschweiften Klammern, um Array-Daten einzufügen. Jedes Element wird innerhalb der Klammern durch ein Komma getrennt: '{"sql","database"}'.
Alternativ können Sie die in der zweiten Zeile gezeigte Konstruktor-Syntax ARRAY[...] verwenden.
INSERT INTO articles (title, tags) VALUES
('Intro to SQL', '{"sql","beginner"}'),
('Advanced Joins', ARRAY['sql','joins','performance']),
('NULL Handling', '{"sql","nulls","tips"}');Das gesamte Array auslesen
Das Auswählen einer Array-Spalte funktioniert genauso wie das Auswählen jeder anderen Spalte. PostgreSQL gibt das gesamte Array als einzelnen Wert in der Ergebnismenge zurück, dargestellt im Format mit geschweiften Klammern.
SELECT id, title, tags
FROM articles;Auf ein einzelnes Element zugreifen
Array-Indizes in PostgreSQL beginnen bei 1 (das erste Element befindet sich an Index 1, nicht an Index 0). Verwenden Sie eckige Klammern hinter dem Spaltennamen, um auf ein bestimmtes Element zuzugreifen.
SELECT title,
tags[1] AS first_tag,
tags[2] AS second_tag
FROM articles;Array-Slicing
Sie können mit der lower:upper-Slice-Syntax innerhalb eckiger Klammern einen Bereich von Elementen extrahieren. Beide Grenzen sind eingeschlossen.
SELECT title,
tags[1:2] AS first_two_tags
FROM articles;Mit ANY filtern
Um Zeilen zu finden, in denen ein Array einen bestimmten Wert enthält, verwenden Sie den Ausdruck = ANY(column). Dieser gibt Zeilen zurück, bei denen mindestens ein Element des Arrays mit dem angegebenen Wert übereinstimmt.
SELECT id, title, tags
FROM articles
WHERE 'joins' = ANY(tags);Mit dem Operator @> filtern
Der Enthält-Operator @> prüft, ob das linke Array alle Elemente des rechten Arrays enthält. Das ist nützlich, wenn Sie Zeilen suchen, die eine bestimmte Menge erforderlicher Tags enthalten.
SELECT id, title, tags
FROM articles
WHERE tags @> ARRAY['sql','tips'];Die Array-Länge ermitteln
Die Funktion array_length(arr, dimension) gibt die Anzahl der Elemente entlang einer bestimmten Dimension zurück. Verwenden Sie für ein eindimensionales Array 1 als zweites Argument.
SELECT title,
array_length(tags, 1) AS tag_count
FROM articles
ORDER BY tag_count DESC;Elemente anhängen
Verwenden Sie die Funktion array_append(array, element) oder den Verkettungsoperator ||, um am Ende einer vorhandenen Array-Spalte ein neues Element hinzuzufügen.
UPDATE articles
SET tags = array_append(tags, 'featured')
WHERE title = 'Intro to SQL';
SELECT title, tags FROM articles WHERE title = 'Intro to SQL';Ein Array in Zeilen auflösen
Die Funktion unnest(array) erweitert ein Array zu einer Menge von Zeilen — eine Zeile pro Element. Das ist praktisch für Aggregationen, Joins oder jede Operation, bei der jedes Element separat benötigt wird.
SELECT title, unnest(tags) AS tag
FROM articles
ORDER BY title, tag;Schnelltest
Testen Sie Ihr Verständnis von PostgreSQL-Array-Spalten.
Zusammenfassung: Grundlagen von Array-Spalten
In dieser Lektion haben Sie gelernt, wie PostgreSQL-Array-Spalten von Anfang bis Ende funktionieren:
- Arrays mit der Syntax
type[]inCREATE TABLEdeklarieren - Werte mit Literalen in geschweiften Klammern oder mit
ARRAY[...]einfügen - Auf Elemente über einen bei 1 beginnenden Index und auf Ausschnitte mit
lower:upperzugreifen - Mit
= ANY(col)nach einem einzelnen Wert oder mit@>nach einer Teilmenge filtern - Die Länge mit
array_length(col, 1)ermitteln - Elemente mit
array_append()oder||hinzufügen - Arrays mit
unnest()in Zeilen auflösen
Arrays sind ein leistungsfähiges PostgreSQL-Feature, das Schemata vereinfachen kann, wenn eine Werteliste zu einer einzelnen Entität gehört.
Häufig gestellte Fragen
Ist die Lektion „Grundlagen von Array-Spalten“ kostenlos?
Ja — der vollständige Text von „Grundlagen von Array-Spalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Grundlagen von Array-Spalten“?
Array-Werte erstellen und lesen Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um SQL Academy zu starten?
Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Grundlagen von Array-Spalten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?
Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Grundlagen von Array-Spalten
- In Arrays suchen
- UNNEST und Aggregation
- Arrays vs. normalisierte Tabellen