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