Nozioni di base sulle colonne array
Crei e legga valori array
Nozioni di base sulle colonne array è una lezione SQL Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SQL Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SQL Academy include 4 lezioni in totale.
Che cos'è una colonna array
PostgreSQL supporta le colonne array, che consentono a una singola cella di contenere più valori dello stesso tipo. Invece di memorizzare testo separato da virgole, si ottiene un elenco tipizzato che è possibile interrogare, indicizzare e manipolare con le funzioni integrate.
Gli array possono contenere numeri interi, testo, valori booleani, date o qualsiasi altro tipo PostgreSQL. La sintassi è simile a integer[] o text[].
Dichiarare una colonna array
Aggiunga [] dopo qualsiasi nome di tipo quando scrive un'istruzione CREATE TABLE per dichiarare una colonna array. La tabella seguente memorizza un elenco di tag per ogni articolo.
CREATE TABLE articles (
id serial PRIMARY KEY,
title text NOT NULL,
tags text[]
);Inserire valori array
Utilizzi valori letterali con parentesi graffe racchiusi tra apici singoli per inserire dati array. Ogni elemento è separato da una virgola all'interno delle parentesi graffe: '{"sql","database"}'.
In alternativa, può utilizzare la sintassi del costruttore ARRAY[...] mostrata nella seconda riga.
INSERT INTO articles (title, tags) VALUES
('Intro to SQL', '{"sql","beginner"}'),
('Advanced Joins', ARRAY['sql','joins','performance']),
('NULL Handling', '{"sql","nulls","tips"}');Leggere l'intero array
La selezione di una colonna array funziona come la selezione di qualsiasi altra colonna. PostgreSQL restituisce l'intero array come un singolo valore nel set di risultati, visualizzato nel formato con parentesi graffe.
SELECT id, title, tags
FROM articles;Accedere a un singolo elemento
Gli indici degli array in PostgreSQL partono da 1 (il primo elemento si trova all'indice 1, non 0). Utilizzi le parentesi quadre dopo il nome della colonna per accedere a un elemento specifico.
SELECT title,
tags[1] AS first_tag,
tags[2] AS second_tag
FROM articles;Suddividere un array
Può estrarre un intervallo di elementi utilizzando la sintassi della porzione lower:upper all'interno delle parentesi quadre. Entrambi i limiti sono inclusivi.
SELECT title,
tags[1:2] AS first_two_tags
FROM articles;Filtrare con ANY
Per trovare le righe in cui un array contiene un valore specifico, utilizzi l'espressione = ANY(column). Questa espressione restituisce le righe in cui almeno un elemento dell'array corrisponde al valore indicato.
SELECT id, title, tags
FROM articles
WHERE 'joins' = ANY(tags);Filtrare con l'operatore @>
L'operatore contiene @> verifica se l'array a sinistra contiene tutti gli elementi dell'array a destra. È utile quando desidera trovare le righe che includono un insieme di tag obbligatori.
SELECT id, title, tags
FROM articles
WHERE tags @> ARRAY['sql','tips'];Ottenere la lunghezza dell'array
La funzione array_length(arr, dimension) restituisce il numero di elementi lungo una determinata dimensione. Per un array monodimensionale, utilizzi 1 come secondo argomento.
SELECT title,
array_length(tags, 1) AS tag_count
FROM articles
ORDER BY tag_count DESC;Aggiungere elementi
Utilizzi la funzione array_append(array, element) o l'operatore di concatenazione || per aggiungere un nuovo elemento alla fine di una colonna array esistente.
UPDATE articles
SET tags = array_append(tags, 'featured')
WHERE title = 'Intro to SQL';
SELECT title, tags FROM articles WHERE title = 'Intro to SQL';Espandere un array in righe
La funzione unnest(array) espande un array in un insieme di righe: una riga per ogni elemento. È utile per le aggregazioni, i join o qualsiasi operazione che richieda di elaborare separatamente ogni elemento.
SELECT title, unnest(tags) AS tag
FROM articles
ORDER BY title, tag;Verifica rapida
Verifichi la sua comprensione delle colonne array di PostgreSQL.
Riepilogo: nozioni di base sulle colonne array
In questa lezione ha imparato come funzionano le colonne array di PostgreSQL dall'inizio alla fine:
- Dichiarare gli array con la sintassi
type[]inCREATE TABLE - Inserire valori utilizzando valori letterali con parentesi graffe o
ARRAY[...] - Accedere agli elementi tramite un indice che parte da 1 e alle porzioni con
lower:upper - Filtrare con
= ANY(col)per un singolo valore o con@>per un sottoinsieme - Misurare la lunghezza con
array_length(col, 1) - Aggiungere elementi utilizzando
array_append()o|| - Espandere gli array in righe con
unnest()
Gli array sono una potente funzionalità di PostgreSQL che può semplificare gli schemi quando un elenco di valori appartiene a una singola entità.
Domande Frequenti
La lezione «Nozioni di base sulle colonne array» è gratuita?
Sì — il testo completo di «Nozioni di base sulle colonne array» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SQL Academy, passa a CoddyKit PRO. Il corso SQL Academy include 4 lezioni in totale.
Cosa imparerò in «Nozioni di base sulle colonne array»?
Crei e legga valori array Eserciti SQL Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare SQL Academy?
Non è richiesta alcuna esperienza precedente. SQL Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Nozioni di base sulle colonne array»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione SQL Academy?
Sì. Ogni lezione SQL Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Nozioni di base sulle colonne array
- Cercare all'interno degli array
- UNNEST e aggregazione
- Array e tabelle normalizzate a confronto