SQL Academy · Lektion

Grundlæggende array-kolonner

Opret og læs array-værdier.

Lektion 1 af 413 trin

Grundlæggende array-kolonner er en gratis SQL Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i SQL Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. SQL Academy-kurset indeholder 4 lektioner i alt.

Hvad er en array-kolonne

PostgreSQL understøtter array-kolonner, som lader en enkelt celle indeholde flere værdier af samme type. I stedet for at gemme kommasepareret tekst får du en korrekt typet liste, som du kan forespørge, indeksere og manipulere med indbyggede funktioner.

Arrays kan indeholde heltal, tekst, booleske værdier, datoer eller enhver anden PostgreSQL-type. Syntaksen ser ud som integer[] eller text[].

Deklaration af en array-kolonne

Tilføj [] efter et hvilket som helst typenavn, når du skriver en CREATE TABLE-sætning, for at deklarere en array-kolonne. Tabellen nedenfor gemmer en liste over mærkater for hver artikel.

CREATE TABLE articles (
  id      serial PRIMARY KEY,
  title   text NOT NULL,
  tags    text[]
);

Indsættelse af array-værdier

Brug litteraler med krøllede parenteser omgivet af enkeltanførselstegn til at indsætte array-data. Hvert element adskilles af et komma inden i parenteserne: '{"sql","database"}'.

Du kan også bruge konstruktørsyntaksen ARRAY[...], som vises i den anden række.

INSERT INTO articles (title, tags) VALUES
  ('Intro to SQL',    '{"sql","beginner"}'),
  ('Advanced Joins',  ARRAY['sql','joins','performance']),
  ('NULL Handling',   '{"sql","nulls","tips"}');

Læsning af hele arrayet

Det fungerer på samme måde at vælge en array-kolonne som at vælge enhver anden kolonne. PostgreSQL returnerer hele arrayet som en enkelt værdi i resultatsættet, vist i format med krøllede parenteser.

SELECT id, title, tags
FROM   articles;

Adgang til et enkelt element

Array-indekser i PostgreSQL er 1-baserede (det første element er ved indeks 1, ikke 0). Brug kantede parenteser efter kolonnenavnet for at få adgang til et bestemt element.

SELECT title,
       tags[1] AS first_tag,
       tags[2] AS second_tag
FROM   articles;

Uddrag af et array-udsnit

Du kan udtrække et interval af elementer ved hjælp af udsnitssyntaksen lower:upper i kantede parenteser. Begge grænser er inklusive.

SELECT title,
       tags[1:2] AS first_two_tags
FROM   articles;

Filtrering med ANY

Hvis du vil finde rækker, hvor et array indeholder en bestemt værdi, skal du bruge udtrykket = ANY(column). Det returnerer rækker, hvor mindst ét element i arrayet svarer til den angivne værdi.

SELECT id, title, tags
FROM   articles
WHERE  'joins' = ANY(tags);

Filtrering med operatoren @>

Indeholdelsesoperatoren @> kontrollerer, om det venstre array indeholder alle elementerne i det højre array. Det er nyttigt, når du vil finde rækker, der indeholder et sæt påkrævede mærkater.

SELECT id, title, tags
FROM   articles
WHERE  tags @> ARRAY['sql','tips'];

Hentning af arrayets længde

Funktionen array_length(arr, dimension) returnerer antallet af elementer langs en given dimension. For et endimensionalt array skal du bruge 1 som det andet argument.

SELECT title,
       array_length(tags, 1) AS tag_count
FROM   articles
ORDER  BY tag_count DESC;

Tilføjelse af elementer

Brug funktionen array_append(array, element) eller sammenkædningsoperatoren || til at tilføje et nyt element sidst i en eksisterende array-kolonne.

UPDATE articles
SET    tags = array_append(tags, 'featured')
WHERE  title = 'Intro to SQL';

SELECT title, tags FROM articles WHERE title = 'Intro to SQL';

Udfoldning af et array til rækker

Funktionen unnest(array) udvider et array til et sæt rækker — én række pr. element. Det er nyttigt til aggregater, join-operationer eller enhver handling, der kræver, at hvert element behandles separat.

SELECT title, unnest(tags) AS tag
FROM   articles
ORDER  BY title, tag;

Hurtig kontrol

Test din forståelse af PostgreSQL-arraykolonner.

Opsummering: Grundlæggende om array-kolonner

I denne lektion lærte du, hvordan PostgreSQL-arraykolonner fungerer fra start til slut:

  • Deklarer arrays med syntaksen type[] i CREATE TABLE
  • Indsæt værdier ved hjælp af litteraler med krøllede parenteser eller ARRAY[...]
  • Få adgang til elementer via et 1-baseret indeks og udsnit med lower:upper
  • Filtrer med = ANY(col) for en enkelt værdi eller @> for en delmængde
  • Mål længden med array_length(col, 1)
  • Tilføj elementer med array_append() eller ||
  • Udvid arrays til rækker med unnest()

Arrays er en effektiv PostgreSQL-funktion, som kan forenkle skemaer, når en liste af værdier hører til én entitet.

Gratis at komme i gang

Lær SQL med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
46
Lektioner
183

Ofte stillede spørgsmål

Er lektionen “Grundlæggende array-kolonner” gratis?

Ja — hele teksten til “Grundlæggende array-kolonner” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af SQL Academy-kurset, skal du opgradere til CoddyKit PRO. SQL Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Grundlæggende array-kolonner”?

Opret og læs array-værdier. Du øver dig i SQL Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på SQL Academy?

Der kræves ingen tidligere erfaring. SQL Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Grundlæggende array-kolonner”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne SQL Academy-lektion?

Ja. Alle SQL Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Grundlæggende array-kolonner
  2. Søgning i arrays
  3. UNNEST og aggregering
  4. Arrays kontra normaliserede tabeller
← Tilbage til SQL Academy