Database
 sql >> Database >  >> RDS >> Database

Aggiungi una colonna a una tabella in SQL

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.