Opis:
Zmiana struktury istniejącej tabeli bazodanowej. Można dodać, usunąć lub zmienić kolumnę.
Składnia:
ALTER TABLE table
[
ADD column_name new_data_type [
NULL |
NOT NULL ] [
PRIMARY KEY |
UNIQUE ] [
IDENTITY ] [
DEFAULT default_expression ] [
CHECK check_expression ] [,...]
[
DROP COLUMN column_name [, ...] ]
[
ALTER COLUMN column_name new_data_type [
NULL |
NOT NULL ]
[, ...]
)
| ALTER COLUMN |
Zmiana istniejącej kolumny. |
| ADD |
Doda nową kolumnę. |
| DROP COLUMN |
Usunięcie istniejącej kolumny. |
| table |
Nazwa tabeli. |
| column_name |
Nazwa kolumny. |
| new_data_type |
Typ danych kolumny (bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, ntext, binary, varbinary, image). |
| NULL |
Włącza zastosowanie wartości NULL w określonej kolumnie. |
| NOT NULL |
Wyłącza zastosowanie wartości NULL w określonej kolumnie. |
| PRIMARY KEY |
Określa kolumnę jako klucz podstawowy tabeli (automatycznie UNIQUE, ale UNIQUE nie trzeba określić). |
| UNIQUE |
Wartości w tej kolumnie muszą być unikalne (zapis rekordu z wartością, która w tej kolumnie już istnieje, nie uda się). |
| IDENTITY |
Kolumna (często klucz podstawowy), którego wartość unikalną przy zapisie uzupełni sam SQL serwer (zezwolona tylko jedna taka kolumna w tabeli). |
| DEFAULT |
Definicja wartości domyślnej, wykorzystanej podczas wkładania nowego rekordu, jeżeli wartość dla tej kolumny nie została określona. |
| default_expression |
wartość domyślna jest wynik tego wyrażenia. |
| CHECK |
Podczas wkładania lub edycji wartości zostanie wykonana kontrola wartości. Jeżeli kontrola nie powiedzie się, wtedy ceła operacja nie uda się. |
| check_expression |
Właściwa kontrola, gdzie wynik wyrażenia określa, czy operacja ma być ważna lub nie. |
Przykład1:
Doda nową kolumnę 'quality' (Integer).
ALTER TABLE data ADD quality smallint
Przykład2:
Doda nową kolumnę 'quality' (Integer, nie może być NULL, o wartości domyślnej 100).
ALTER TABLE data ADD quality smallint NOT NULL DEFAULT 100
Przykład3:
Usunięcie istniejącej kolumny 'quality'.
ALTER TABLE data DROP COLUMN quality
Przykład4:
Zmiana istniejącej kolumny 'quality' na większy typ danych.
ALTER TABLE data ALTER COLUMN quality int