Questo articolo spiega l’operazione SQL add column in una tabella SQL esistente. Esploreremo anche diversi esempi di operazioni di colonna SQL add.

A volte vogliamo aggiungere colonne in una tabella esistente. Nelle tabelle esistenti, potremmo avere record in esso. Non vogliamo perdere anche i dati esistenti. In molte circostanze, possiamo eliminare le tabelle e ricrearle, ma questo non è raccomandato in generale, specialmente in un ambiente di produzione, in quanto può essere distruttivo per quanto riguarda i dati., Possiamo ancora eseguire un’operazione SQL add column usando il comando Alter Table, che evita di dover eliminare le tabelle, eliminare i dati, anche se solo temporaneamente.

Sintassi

Possiamo eseguire un’operazione SQL add column su una tabella con il seguente comando transact SQL.,

1
2

ALTER TABLE nome_tabella
AGGIUNGI column_name column_definition;

Preparare l’ambiente

Abbiamo bisogno di selezionare una tabella di Database e inserimento dati.

Eseguire la seguente query per creare una tabella dei dipendenti nel database SQLShackDemo.

Eseguire la seguente query per inserire dati di esempio in esso.,

Nella schermata seguente, possiamo vedere i dati esistenti nella tabella dei dipendenti.

Operazione SQL add column su una tabella SQL esistente

Vogliamo aggiungere il reparto colonna nella tabella Employee. Supponiamo di avere molte colonne in una tabella; dobbiamo verificare se una particolare colonna esiste nella tabella SQL o meno. Se la colonna specificata non esiste, vogliamo crearla con il tipo di dati appropriato.

Possiamo usare la vista INFORMATION_SCHEMA per controllare le tabelle e le loro colonne all’interno di un database., Eseguire il seguente codice per ottenere un elenco di colonne, il loro tipo di dati nella tabella dei dipendenti.

In questo output, possiamo vedere la tabella Employee contiene 4 colonne.

Aggiungiamo un nuovo reparto colonna con il seguente comando Alter Table.,

1
2

ALTER TABLE Dipendente
AGGIUNGI Dipartimento Varchar(50)

Eseguire questa query e selezionare i record dalla tabella Dipendenti. Nella schermata seguente, possiamo guardare il nuovo reparto colonna. Tutti i record esistenti contengono un valore NULL in questa colonna.,

In precedenza, abbiamo controllato tutte le colonne nella tabella Employee utilizzando la vista INFORMATION_SCHEMA. Nella seguente query, vogliamo creare una tabella di reparto solo se non esiste nella tabella Employee.,

1
2
3
4
5
6
7
8
9
10
11

SE NON ESISTE
(
SELECT *
FROM INFORMATION_SCHEMA.,COLONNE
DOVE TABLE_NAME = ‘Impiegato’
E NOME_COLONNA = ‘Dipartimento’
)
BEGIN
ALTER TABLE Dipendente
AGGIUNGI Dipartimento VARCHAR(50);
END;

E ‘ possibile aggiungere una colonna in una tabella esistente, se consente valori NULL o avere un valore di default definito., We can try to add Not NULL column in the existing SQL table, but it gives the following error message,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,COLONNE
DOVE TABLE_NAME = ‘Impiegato’
E NOME_COLONNA = “Telefono”
)
BEGIN
ALTER TABLE Dipendente
AGGIUNGI Telefono VARCHAR(15) Not NULL;
END;

SQL aggiungi colonna operazione a un SQL tabella con un valore predefinito

Supponiamo di voler aggiungere la colonna IsActive colonna nella tabella Dipendenti., Possiamo avere i seguenti valori in questa colonna

  • Valore 1: Employee è attivo
  • Valore 0: Employee non è attivo

Per impostazione predefinita, tutti i dipendenti esistenti e nuovi dovrebbero avere Valore 1 nella colonna IsActive. Possiamo specificare un valore usando il vincolo predefinito.,

If we try to add a column with a Not NULL value in the existing SQL table, we get following error message,

1
2
3
4
5
6
7
8
9
10
11

IF NOT EXISTS
(
SELECT *
FROM INFORMATION_SCHEMA.,COLONNE
DOVE TABLE_NAME = ‘Impiegato’
E NOME_COLONNA = “Telefono”
)
BEGIN
ALTER TABLE Dipendente
AGGIUNGI IsActive bit di DEFAULT(1);
END;

Eseguire questa query e Selezionare i record da una tabella. Per i record esistenti, non aggiorna i valori predefiniti.

Se inseriamo un nuovo record in questa tabella, ottiene il valore predefinito come nella seguente schermata.,

SQL add column operation to an existing SQL table with an identity column

In SQL Server, usiamo la funzione Identity per definire un valore predefinito e di incremento automatico per ogni nuova riga. Possiamo aggiungere anche una colonna identity alla tabella SQL esistente. Creiamo una nuova tabella Employee_new senza una colonna identity.

Una volta che la tabella è lì, possiamo aggiungere una colonna di identità con la seguente query.,

1
2
3
4
5
6
7
8
9
10
11

SE NON ESISTE
(
SELECT *
FROM INFORMATION_SCHEMA.,COLONNE
DOVE TABLE_NAME = ‘Employee_new’
E NOME_COLONNA = ‘ID’
)
BEGIN
ALTER TABLE Employee_new
AGGIUNGI ID INT IDENTITY(1,1) NOT NULL
END;

Abbiamo creato l’Identità di colonna in una tabella, senza alcun record. Lasciamo cadere il tavolo e ricrearlo. Inserire alcuni record con la seguente query.

Abbiamo dati nella tabella Employee_new. Aggiungiamo una colonna di identità con il comando Alter table.,

1
2
3
4
5
6
7
8
9
10
11

SE NON ESISTE
(
SELECT *
FROM INFORMATION_SCHEMA.,COLONNE
DOVE TABLE_NAME = ‘Employee_new’
E NOME_COLONNA = ‘ID’
)
BEGIN
ALTER TABLE Employee_new
AGGIUNGI ID INT IDENTITY(1,1) NOT NULL
END;

Nella schermata riportata di seguito, possiamo vedere gli aggiornamenti dei record esistenti, come pure.

Operazioni multiple SQL add column per una tabella SQL esistente con una colonna identity

Potrebbe essere necessario aggiungere più colonne a una tabella SQL esistente., Possiamo farlo all’interno dello stesso comando Alter table.

Nella seguente query, abbiamo aggiunto due colonne ZipCode e StateCode in un singolo comando Alter Table. Dobbiamo specificare tutte le colonne da aggiungere in un formato simile.,

1
2
3
4

ALTER TABLE Employee_new
ADD ZipCode INT NULL,
StateCode INT NULL;
GO

We can get details of all columns and their properties using sp_help command.,

1
sp_help ‘Employee_new’

SQL aggiungere colonna di funzionamento esistenti tabella SQL con la progettazione di tabelle in sql server management studio

Negli esempi precedenti, abbiamo usato il t-SQL per aggiungere colonne della tabella esistente. Potremmo non avere familiarità con la scrittura di codice t-SQL. Possiamo usare anche la GUI SSMS per aggiungere una colonna.,

Fare clic destro sul tavolo e fare clic su Design.

Apre un designer di tabelle. Possiamo vedere tutte le colonne esistenti, i loro tipi di dati, i valori predefiniti e altre proprietà per una tabella specificata in un designer di tabelle

Fornire un nome di colonna e selezionare i tipi di dati dal menu a discesa. Possiamo aggiungere più colonne in questo con tipi di dati appropriati.

Una volta fatto, salvare e uscire dal designer tabella in SSMS., Se si tenta di chiuderlo senza salvare le modifiche, viene visualizzato anche un messaggio di avviso.

Fare clic su Sì per salvare una nuova colonna nella tabella esistente. Possiamo eseguire un’istruzione Select per verificare la nuova colonna o utilizzare il comando sp_help per elencare tutte le colonne e le loro proprietà.

1
sp_help ‘Dipendente.,’

Nello screenshot seguente, possiamo vedere una nuova colonna nella tabella Employee.

Conclusione

In questo articolo, abbiamo esplorato le operazioni SQL add column per aggiungere una nuova colonna a una tabella SQL esistente. Possiamo usare sia il metodo GUI che transact SQL per farlo. Spero che tu abbia trovato utile questo articolo. Puoi fornire feedback o commenti nella sezione commenti qui sotto.,

  • Autore
  • Post Recenti
Come un certificato MCSA e Microsoft Certified Trainer a Gurgaon, in India, con 13 anni di esperienza, Rajendra collabora con una serie di grandi imprese di messa a fuoco sull’ottimizzazione delle prestazioni, il monitoraggio, l’alta disponibilità e disaster recovery per le strategie e l’attuazione., È autore di centinaia di articoli autorevoli su SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS/Amazon RDS, Git e tecnologie correlate che sono stati visti da oltre 10 milioni di lettori fino ad oggi.
È il creatore di una delle più grandi collezioni online gratuite di articoli su un singolo argomento, con la sua serie di 50 parti su SQL Server Always On Availability Groups. Sulla base del suo contributo alla comunità SQL Server, è stato riconosciuto con vari premi tra cui il prestigioso “Best author of the year” ininterrottamente nel 2020 e 2021 a SQLShack.,
Raj è sempre interessato a nuove sfide, quindi se avete bisogno di consulenza aiuto su qualsiasi argomento trattato nei suoi scritti, egli può essere raggiunto a rajendra.gupta16 @ gmail.,com
Visualizza tutti i messaggi di Rajendra Gupta

Ultimi messaggi di Rajendra Gupta (vedi tutti)
  • l’Esecuzione di piccoli e grandi aggiornamenti di versione per AWS RDS SQL Server – gennaio 29, 2021
  • la Distribuzione di AWS RDS PostgreSQL istanze – 27 gennaio 2021
  • Migrazione locale di database SQL AWS RDS SQL Server utilizzando AWS DMS – 25 gennaio 2021