Polecenie SQL ALTER TABLE służy do dodawania, usunięcia lub modyfikacji kolumn w istniejącej tabeli. Polecenia ALTER TABLE należy również używać do dodawania i usuwania różnych ograniczeń w istniejącej tabeli.
Syntaktyka
Podstawowa składnia polecenia ALTER TABLE w celu dodania nowej kolumny w istniejącej tabeli jest następująca.
ALTER TABLE table_name ADD column_name datatype;
Podstawowa składnia polecenia ALTER TABLE do DROP COLUMN w istniejącej tabeli jest następująca.
ALTER TABLE table_name DROP COLUMN column_name;
Podstawowa składnia polecenia ALTER TABLE do zmiany TYPU DANYCH kolumny w tabeli jest następująca.
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
Podstawowa składnia polecenia ALTER TABLE do dodania ograniczenia NOT NULL do kolumny w tabeli jest następująca.
ALTER TABLE table_name MODIFY column_name datatype NOT NULL;
Podstawowa składnia polecenia ALTER TABLE do ADD UNIQUE CONSTRAINT do tabeli jest następująca.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);
Podstawowa składnia polecenia ALTER TABLE do ADD CHECK CONSTRAINT do tabeli jest następująca.
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);
Podstawowa składnia polecenia ALTER TABLE do ADD PRIMARY KEY constraint do tabeli jest następująca.
ALTER TABLE table_name ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);
Podstawowa składnia polecenia ALTER TABLE do DROP CONSTRAINT z tabeli jest następująca.
ALTER TABLE table_name DROP CONSTRAINT MyUniqueConstraint;
Jeśli używasz MySQL, kod jest następujący –
ALTER TABLE table_name DROP INDEX MyUniqueConstraint;
Podstawowa składnia polecenia ALTER TABLE do DROP PRIMARY KEY constraint z tabeli jest następująca.
ALTER TABLE table_name DROP CONSTRAINT MyPrimaryKey;
Jeśli używasz MySQL, kod wygląda następująco –
ALTER TABLE table_name DROP PRIMARY KEY;
Przykład
Patrząc na tabelę KLIENCI posiadającą następujące rekordy –
+----+----------+-----+-----------+----------+| 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 |+----+----------+-----+-----------+----------+
Poniżej przedstawiono przykład dodawania nowej kolumny do istniejącej tabeli –
ALTER TABLE CUSTOMERS ADD SEX char(1);
Teraz, tabela CUSTOMERS jest zmieniona i następujące dane zostaną wyświetlone w instrukcji SELECT.
+----+---------+-----+-----------+----------+------+| 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 |+----+---------+-----+-----------+----------+------+
Poniżej znajduje się przykład usunięcia kolumny sex z istniejącej tabeli.
ALTER TABLE CUSTOMERS DROP SEX;
Teraz tabela CUSTOMERS została zmieniona, a poniższe dane wyjściowe z instrukcji 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 |+----+---------+-----+-----------+----------+