Il comando SQL ALTER TABLE è usato per aggiungere, cancellare o modificare le colonne in una tabella esistente. Dovresti anche usare il comando ALTER TABLE per aggiungere e cancellare vari vincoli su una tabella esistente.
Sintassi
La sintassi di base di un comando ALTER TABLE per aggiungere una nuova colonna in una tabella esistente è la seguente.
ALTER TABLE table_name ADD column_name datatype;
La sintassi di base di un comando ALTER TABLE per DROP COLUMN in una tabella esistente è la seguente.
ALTER TABLE table_name DROP COLUMN column_name;
La sintassi di base di un comando ALTER TABLE per cambiare il DATA TYPE di una colonna in una tabella è la seguente.
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
La sintassi di base di un comando ALTER TABLE per aggiungere un vincolo NOT NULL a una colonna in una tabella è la seguente.
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
La sintassi di base di ALTER TABLE per aggiungere un UNIQUE CONSTRAINT a una tabella è la seguente.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
La sintassi di base di un comando ALTER TABLE per AGGIUNGERE CHECK CONSTRAINT a una tabella è la seguente.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
La sintassi di base di un comando ALTER TABLE per AGGIUNGERE vincolo PRIMARY KEY a una tabella è la seguente.
ALTER TABLE table_name ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
La sintassi di base di un comando ALTER TABLE per DROP CONSTRAINT da una tabella è la seguente.
ALTER TABLE table_name DROP CONSTRAINT MyUniqueConstraint;
Se state usando MySQL, il codice è il seguente –
ALTER TABLE table_name DROP INDEX MyUniqueConstraint;
La sintassi di base di un comando ALTER TABLE per DROP PRIMARY KEY da una tabella è la seguente.
ALTER TABLE table_name DROP CONSTRAINT MyPrimaryKey;
Se usate MySQL, il codice è il seguente –
ALTER TABLE table_name DROP PRIMARY KEY;
Esempio
Considera la tabella CUSTOMERS con i seguenti record –
+----+----------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+----------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Khilan | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | Chaitali | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+----------+-----+-----------+----------+
Di seguito l’esempio per aggiungere una nuova colonna a una tabella esistente –
ALTER TABLE CUSTOMERS ADD SEX char(1);
Ora, la tabella CLIENTI viene modificata e l’output dell’istruzione SELECT sarebbe il seguente.
+----+---------+-----+-----------+----------+------+| ID | NAME | AGE | ADDRESS | SALARY | SEX |+----+---------+-----+-----------+----------+------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 | NULL || 2 | Ramesh | 25 | Delhi | 1500.00 | NULL || 3 | kaushik | 23 | Kota | 2000.00 | NULL || 4 | kaushik | 25 | Mumbai | 6500.00 | NULL || 5 | Hardik | 27 | Bhopal | 8500.00 | NULL || 6 | Komal | 22 | MP | 4500.00 | NULL || 7 | Muffy | 24 | Indore | 10000.00 | NULL |+----+---------+-----+-----------+----------+------+
Di seguito l’esempio di DROP della colonna sesso dalla tabella esistente.
ALTER TABLE CUSTOMERS DROP SEX;
Ora, la tabella CLIENTI viene modificata e il seguente sarebbe l’output dell’istruzione SELECT.
+----+---------+-----+-----------+----------+| ID | NAME | AGE | ADDRESS | SALARY |+----+---------+-----+-----------+----------+| 1 | Ramesh | 32 | Ahmedabad | 2000.00 || 2 | Ramesh | 25 | Delhi | 1500.00 || 3 | kaushik | 23 | Kota | 2000.00 || 4 | kaushik | 25 | Mumbai | 6500.00 || 5 | Hardik | 27 | Bhopal | 8500.00 || 6 | Komal | 22 | MP | 4500.00 || 7 | Muffy | 24 | Indore | 10000.00 |+----+---------+-----+-----------+----------+