Introduzione al comando SQL Alter

SQL (Structured Query Language) viene utilizzato per eseguire operazioni su database e tabelle utilizzando vari comandi SQL come DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) e TCL (Transaction Control Language). In DDL, utilizziamo comandi come CREATE, DROP, ALTER ecc. Per creare e modificare la struttura del database o gli oggetti nel database. Il comando ALTER viene utilizzato per aggiungere, modificare o eliminare le colonne in una tabella. In questo argomento, impareremo il comando SQL Alter.

Sintassi

Il comando ALTER può essere utilizzato per aggiungere colonne a una tabella esistente, eliminare una colonna da una tabella, rinominare una colonna esistente e modificare il tipo di dati di una colonna. Di seguito sono riportate la sintassi utilizzata per le diverse operazioni che possono essere eseguite utilizzando il comando Alter.

La sintassi per l'aggiunta di una nuova colonna a una tabella esistente è la seguente:

ALTER TABLE table_name ADD COLUMN column_name datatype;

La sintassi per l'aggiunta di una colonna con un valore predefinito a una tabella esistente è la seguente:

ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';

La sintassi per modificare il tipo di dati di una colonna esistente come di seguito:

ALTER TABLE table_name MODIFY column_name datatype;

La sintassi per rinominare una colonna come di seguito:

ALTER TABLE table_name RENAME old_column_name To new_column_name;

La sintassi per eliminare una colonna come di seguito:

ALTER TABLE table_name DROP column_name;

La sintassi per l'aggiunta del vincolo NOT NULL a una colonna come di seguito:

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

Come usare il comando SQL Alter con esempi?

Per comprendere le operazioni del comando ALTER, consideriamo la seguente tabella "DIPENDENTI" come esempio. La tabella "DIPENDENTE" è già stata creata e con l'uso del comando Alter, molte modifiche come l'aggiunta della colonna, la ridenominazione di una colonna, il rilascio di una colonna ecc. Possono essere eseguite come descritto di seguito.

Tabella dei DIPENDENTI come di seguito:

IDNOMEETÀSTIPENDIO
134Sonal2423000.00
145Nikhil2728.990, 00
167Soham2625000.00
234Yash3235000.00
189ritu2529000.00
190Rajesh2829000.00

Aggiunta di una singola colonna alla tabella DIPENDENTI come di seguito

ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;

Il comando ALTER sopra aggiungerà la colonna 'DOB' alla tabella esistente 'DIPENDENTE'. Qui la colonna 'DOB' avrà un valore nullo per ogni riga nella tabella esistente.

Possiamo vedere il risultato usando la seguente istruzione:

Select * from EMPLOYEE;

IDNOMEETÀSTIPENDIODOB
134Sonal2423000.00nullo
145Nikhil2728.990, 00nullo
167Soham2625000.00nullo
234Yash3235000.00nullo
189ritu2529000.00nullo
190Rajesh2829000.00nullo

Aggiunta di una colonna con il valore predefinito

Supponiamo che i dipendenti si siano uniti lo stesso giorno, quindi la colonna Data di partecipazione può avere lo stesso valore predefinito per tutti i dipendenti.

ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';

La precedente istruzione ALTER aggiungerà la colonna "DOJ" con un valore predefinito di "1990-08-09" alla tabella DIPENDENTI. Possiamo vedere il risultato del comando sopra usando l'istruzione seguente:

Select * from EMPLOYEE;

IDNOMEETÀSTIPENDIODOJ
134Sonal2423000.001990/08/09
145Nikhil2728.990, 001990/08/09
167Soham2625000.001990/08/09
234Yash3235000.001990/08/09
189ritu2529000.001990/08/09
190Rajesh2829000.001990/08/09

Rinominare una colonna esistente

Usando il comando seguente, possiamo rinominare la colonna 'ID' dalla tabella 'EMPLOYEE' esistente a 'EMP_ID'.

ALTER TABLE EMPLOYEE rename ID to EMP_ID;

Possiamo vedere il risultato del comando sopra dall'istruzione seguente:

Select * from EMPLOYEE;

EMP_IDNOMEETÀSTIPENDIODOJ
134Sonal2423000.001990/08/09
145Nikhil2728.990, 001990/08/09
167Soham2625000.001990/08/09
234Yash3235000.001990/08/09
189ritu2529000.001990/08/09
190Rajesh2829000.001990/08/09

Eliminazione di una colonna dalla tabella esistente

ALTER TABLE EMPLOYEE DROP COLUMN DOJ;

Il comando precedente eliminerà la colonna "DOJ" dalla tabella "DIPENDENTI".

Possiamo vedere i risultati dalla seguente dichiarazione:

Select * from EMPLOYEE;

EMP_IDNOMEETÀSTIPENDIO
134Sonal2423000.00
145Nikhil2728.990, 00
167Soham2625000.00
234Yash3235000.00
189ritu2529000.00
190Rajesh2829000.00

Aggiunta del vincolo NOT NULL a una colonna

Qui la tabella "DIPENDENTE" è già stata creata e se vogliamo aggiungere un vincolo NOT NULL alla colonna "SALARY", allora possiamo farlo come di seguito.

ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;

Modifica del tipo di dati di una colonna

L'istruzione seguente può essere utilizzata per modificare il tipo di dati di una colonna esistente come di seguito:

ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);

vantaggi

Di seguito sono riportati i vantaggi dell'utilizzo del comando Alter:

  • Il comando Alter è molto utile quando vogliamo modificare il database o le tabelle contenute in un database.
  • Con l'aiuto del comando Alter, è possibile apportare molte modifiche se è necessario apportare modifiche alla progettazione del database senza disturbare il database esistente o gli oggetti ad esso correlati.
  • È possibile aggiungere vincoli a una colonna anche dopo la creazione della tabella.

Conclusione

La necessità del comando ALTER è utile quando si desidera cambiare o modificare il database esistente se vengono visualizzati requisiti aziendali dopo il completamento della progettazione. Possiamo facilmente modificare il database o le tabelle in esso usando il comando Alter. Ma gli sviluppatori dovrebbero verificare con le autorizzazioni ALTER fornite agli utenti durante l'utilizzo del comando Alter per le tabelle del database. Inoltre, quando utilizziamo il comando Alter per aggiungere la chiave primaria, dovremmo tenere presente che la colonna della chiave primaria deve essere già stata creata, ovvero quando la tabella è stata creata per non contenere valori Null.

Articoli consigliati

Questa è una guida al comando SQL Alter. Qui discutiamo come utilizzare SQL aggiungendo i comandi Alter con esempi e vantaggi. Puoi anche leggere il seguente articolo per saperne di più -

  1. Strumenti di gestione SQL
  2. Funzioni stringa T-SQL
  3. Che cos'è SQL Injection?
  4. Come collegare il database a MySQL?