Introduzione
In PostgreSQL, l’istruzione ALTER TABLE
può essere utilizzata per aggiungere, eliminare o modificare la tabella. Se si desidera aggiungere una colonna a una tabella, è sufficiente specificare la clausolaADD COLUMN
nell’istruzioneALTER TABLE
. Tuttavia, si verificherà un errore se si tenta di aggiungere una colonna già esistente. È facile evitare questo errore utilizzando l’opzioneIF NOT EXISTS
con la clausolaADD COLUMN
. Questa opzione indica a PostgreSQL di aggiungere la nuova colonna solo se il nome della colonna non esiste nella tabella. In questo articolo, daremo un’occhiata più da vicino al comando Postgres ADD COLUMN IF NOT EXISTS e verificheremo alcuni esempi del suo utilizzo.
Prerequisiti
Per ottenere il massimo da questo tutorial, è necessario assicurarsi che siano presenti un paio di prerequisiti:
- PostgreSQL deve essere installato sul computer in modo da poter testare i nostri esempi del comando Postgres ADD COLUMN IF NOT EXISTS.
- Dovresti avere alcune conoscenze di base di PostgreSQL per seguire le istruzioni fornite in questo articolo.
La sintassi Postgres SE NON ESISTE
Inizieremo con una rapida occhiata alla sintassi per l’opzioneIF NOT EXISTS
in un’istruzioneALTER TABLE
:
1
2 |
ALTER TABLE NOME_TABELLA
AGGIUNGI COLONNA SE NON ESISTE column_name |
andiamo a discutere questa sintassi un po ‘ più nel dettaglio:
- in Primo luogo, dobbiamo specificare il nome della tabella a cui si desidera aggiungere una colonna.
- Forniamo l’opzione
IF NOT EXISTS
dopo la clausolaADD COLUMN
, quindi specifichiamo il nome della colonna e il suo tipo di dati.
L’opzione IF NOT EXISTS
controllerà se il nome della colonna specificato esiste nella tabella. Con questa opzione, non verrà restituito alcun errore se si tenta di aggiungere una colonna già esistente.
Postgres SE NON ESISTE esempio
Prima di procedere, bisogna creare una tabella di esempio per l’utilizzo nei nostri esempi:
1
2 3 4 5 |
CREATE TABLE impiegati(
id SERIALE CHIAVE PRIMARIA, nome VARCHAR(50), POSIZIONE VARCHAR(50) ); |
La tabella denominata employees
è ora creata.
Aggiungi colonna
Ora, proviamo ad aggiungere una nuova colonna alla nostra tabella con lo stesso nome di colonna di una colonna esistente. Useremo la seguente ALTER TABLE
dichiarazione:
1
2 |
ALTER TABLE impiegati AGGIUNGI COLONNA nome VARCHAR(50);
ERRORE: La COLONNA “nome” DELLA relazione “dipendenti” ESISTE già |
Questa istruzione restituisce un errore perché la colonna “nome” nella employees
tabella esiste già. Per evitare questo errore, possiamo semplicemente usare l’opzioneIF NOT EXISTS
. Vediamo come appare la nostra dichiarazione con questa opzione in atto:
1
2 3 |
ALTER TABLE impiegati AGGIUNGERE COLONNA, SE NON ESISTE, nome VARCHAR(50);
AVVISO: La COLONNA “nome” DELLA relazione “dipendenti” ESISTE già, saltando ALTER TABLE |
NOTA: La dichiarazione di cui sopra non ha restituito un errore, ma lo ha fatto visualizzare un messaggio di avviso che una colonna con lo stesso nome esiste già.
Cosa pensi accadrà se provi ad aggiungere una colonna con lo stesso nome di una colonna esistente ma un tipo di dati diverso? Proviamolo e vediamo:
1
2 3 |
ALTER TABLE employees ADD COLUMN IF NOT EXISTS name TEXT;
AVVISO: La COLONNA ” nome “DELLA relazione” dipendenti”ESISTE già, saltando ALTER TABLE |
La colonna non verrà ancora aggiunta perché esiste già una colonna con lo stesso nome.
Conclusione
Quando è necessario apportare una modifica a una delle tabelle PostgreSQL, è facile aggiungere, eliminare o rinominare una colonna utilizzando l’istruzioneALTER TABLE
; tuttavia, potrebbe verificarsi un errore se si tenta di aggiungere una colonna già esistente. Per evitare eventuali errori, è possibile utilizzare l’opzioneIF ALREADY EXISTS
dopo la clausolaADD COLUMN
nell’istruzioneALTER TABLE
. In questo articolo, abbiamo discusso l’istruzione Postgres ADD COLUMN IF ALREADY EXISTS e abbiamo esaminato alcuni esempi di come usarlo. Con i nostri esempi e istruzioni passo-passo, sarete in grado di aggiungere colonne a una tabella senza incontrare errori nel proprio database PostgreSQL.