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_typeNella 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 CityLa 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 TABLEIn questo caso, otterremo uno stato SQL 23502.
Errore: colonna "No_null" della relazione "City" contiene valori nullSQL 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.