Aggiungi colonna PostgreSQL

Aggiungi colonna PostgreSQL
Dopo aver creato database e popolarli con informazioni, raramente dovrai modificare la struttura del database. La cosa ricorrente che farai è aggiungere o recuperare i record memorizzati nel database. Tuttavia, ci sono rari casi in cui potrebbe essere necessario aggiungere una nuova colonna e popolarla con i dati.

In questa guida, esamineremo come modificare una tabella PostgreSQL e aggiungere una colonna.

Uso di base

Per aggiungere una colonna a una tabella, dobbiamo innanzitutto specificare la "modifica della query" seguita dal nome della tabella.

Possiamo esprimere la sintassi generale per aggiungere una colonna come:

Altera tabella table_name aggiungi colonna se non esiste column_name data_type

Nella sintassi rappresentata sopra, iniziamo chiamando la query della tabella Alter seguita dal nome della tabella a cui vogliamo aggiungere la colonna. Quindi, specificare il nome della colonna dopo l'istruzione Aggiungi colonna.

Sebbene l'istruzione se non esiste sia facoltativa, può essere un modo utile per evitare errori se esiste una colonna con un nome simile.

Infine, specifichiamo il tipo di dati della colonna e dei vincoli della colonna.

È inoltre possibile aggiungere più colonne specificando il loro nome, tipo di dati e vincoli uno dopo l'altro (separato da virgole).

NOTA: PostgreSQL aggiunge qualsiasi nuova colonna alla fine della tabella in quanto non ha un metodo per specificare la posizione della colonna. Quindi, per creare un nuovo layout della colonna in una tabella PostgreSQL, è necessario ricreare la nuova tabella o utilizzare una vista.

Esempi

Aggiungiamo una colonna al tavolo della città nel database Sakila.

Alter Table City Aggiungi colonna City_code Varchar (20);

La query sopra aggiunge la colonna City_Code al tavolo della città. È possibile verificare utilizzando l'istruzione Select come:

Seleziona * dal limite della città 5;

Come mostrato nello screenshot seguente, la query sopra dovrebbe restituire i record nella tabella della città con la nuova colonna:

Per aggiungere più colonne contemporaneamente, specificare i valori della colonna in un elenco come:

Alter Table City
Aggiungi la colonna se non esiste seriale di popolazione non null,
Aggiungi colonna se non esiste strade varchar (255),
Aggiungi colonna Altro int;

La query sopra dovrebbe aggiungere tre colonne sequenzialmente come specificato. L'ordine di aggiungere le colonne alla tabella è come specificato.

Ad esempio, nella domanda sopra, la colonna della popolazione verrà prima delle strade.

Negli esempi precedenti, tutte le colonne aggiunte contiene valori nulli. Per specificare un valore di segnaposto, possiamo utilizzare la parola chiave predefinita.

Considera la colonna del codice della città. Iniziamo lasciando cadere la colonna.

Alter Table City Drop Column City_Code;

Quindi, aggiungi la colonna con la parola chiave Aggiungi colonna; Il valore predefinito è nella query seguente:

NOTA: La colonna City_Code sarà alla fine della tabella.

AlterTable City addColumncity_codevarchar (20) default "aa";

Nell'esempio sopra, PostgreSQL utilizzerà il valore predefinito specificato per popolare i valori della colonna City_Code.

L'uso del valore predefinito specificato può essere utile quando la colonna ha un vincolo non nullo.

L'aggiunta di una colonna può prendere qualsiasi tipo di dati PostgreSQL supportato. Ad esempio, quanto segue contiene una colonna di valori booleani.

Alter table City Aggiungi colonna Se non esiste IS_ACTIVE booleano non null default true;

NOTA: Poiché PostgreSQL aggiungerà valori nulli a una colonna Se non vengono specificati valori predefiniti, è bene aggiungere un valore predefinito. In caso contrario, PostgreSQL restituirà un errore!

Ad esempio, possiamo creare una tabella come:

MUMIGLIA DI DROP NO_NULL ALTER TABLE
Alter table city aggiungi colonna se non esiste no_null booleano non null;

In questo caso, otterremo uno stato SQL 23502.

Errore: colonna "No_null" della relazione "City" contiene valori null
Stato SQL: 23502

SQL State 23502 indica che l'operazione (aggiornamento, set o inserto è null ma l'oggetto non accetta valori null).

Conclusione

Questo tutorial ti ha accompagnato come utilizzare e lavorare con la query di colonna ADD in PostgreSQL, consentendo di aggiungere colonne a una tabella esistente.