In SQL, puoi usare ALTER TABLE
istruzione per aggiungere una o più colonne a una tabella esistente.
Per fare ciò, usa il ADD
clausola, seguita dalla definizione di colonna. Separa più colonne con una virgola.
Specifica solo ADD
una volta (cioè non è necessario specificarlo per ogni colonna).
Aggiungi una colonna
Ecco un esempio di base in cui aggiungo una colonna a una tabella esistente.
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
In questo caso ho aggiunto una colonna chiamata colonna_2 alla tabella denominata Test .
Questo avrebbe potuto essere fatto facilmente su una singola riga. Uso solo due righe qui per una più facile leggibilità.
Tanto per essere chiari, eccolo di nuovo, ma questa volta creo la tabella prima di modificarla.
CREATE TABLE Test
(
column_1 int IDENTITY NOT NULL PRIMARY KEY
);
ALTER TABLE Test ADD
column_2 varchar(50) NOT NULL;
Si noti che gli esempi in questa pagina sono stati eseguiti utilizzando SQL Server. A seconda del tuo DBMS, potrebbe essere necessario modificare alcuni dettagli delle definizioni delle colonne.
Ad esempio IDENTITY
è la versione di SQL Server di ciò che a volte viene chiamato AUTO_INCREMENT
in altri DBMS (come MySQL). Se usi SQLite, ecco come creare una colonna a incremento automatico in SQLite.
Aggiungi più colonne
Ecco come aggiungere due o più colonne.
ALTER TABLE Test ADD
column_3 int NULL,
column_4 int NULL;
Come accennato, separi semplicemente ogni colonna con una virgola.
Aggiungi vincoli
Puoi anche aggiungere vincoli a qualsiasi colonna che aggiungi a una tabella esistente. Ecco un esempio.
ALTER TABLE Test ADD
column_5 int NOT NULL
CONSTRAINT u_column_5 UNIQUE;
Questo esempio aggiunge una colonna denominata colonna_5 con un UNIQUE
vincolo chiamato u_column_5 .
Ovviamente, il codice effettivo che utilizzi dipenderà dal nome della colonna e dal vincolo che stai aggiungendo, nonché dal suo tipo. Ad esempio, potresti aggiungere un vincolo di chiave primaria, un vincolo di chiave esterna, un vincolo CHECK e così via.
Inoltre, questo non è l'unico modo per aggiungere vincoli a una colonna. Se la colonna esiste già, puoi utilizzare ADD CONSTRAINT
per aggiungere un vincolo rispetto alla colonna esistente.
L'aggiunta del vincolo quando aggiungi la colonna ti evita semplicemente di doverla aggiungere in un secondo momento.