0Pricing
SQL Academy · Lektion

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[] in CREATE TABLE deklarieren
  • Werte mit Literalen in geschweiften Klammern oder mit ARRAY[...] einfügen
  • Auf Elemente über einen bei 1 beginnenden Index und auf Ausschnitte mit lower:upper zugreifen
  • 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

  1. Grundlagen von Array-Spalten
  2. In Arrays suchen
  3. UNNEST und Aggregation
  4. Arrays vs. normalisierte Tabellen
← Zurück zu SQL Academy