Popis:
Změna struktury existující databázové tabulky. Lze přidat, smazat nebo změnit sloupec.
Syntaxe:
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 |
Změna existujícího sloupce. |
ADD |
Přidá nový sloupec. |
DROP COLUMN |
Smazání existujícího sloupce. |
table |
Název tabulky. |
column_name |
Název sloupce. |
new_data_type |
Datový typ sloupce (bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, ntext, binary, varbinary, image). |
NULL |
Povolí použití hodnoty NULL v daném sloupci. |
NOT NULL |
Zakáže použití hodnoty NULL v daném sloupci. |
PRIMARY KEY |
Určuje sloupec jako primární klíč tabulky (automaticky UNIQUE, ale UNIQUE se nesmí uvést). |
UNIQUE |
Hodnoty v tomto sloupci musí být jedinečné (zápis záznamu s hodnotou, která v tomto sloupci již existuje, selže). |
IDENTITY |
Sloupec (často primární klíč), jehož jedinečnou hodnotu při zápisu doplní SQL server sám (povolen pouze 1 takovýto sloupec v tabulce). |
DEFAULT |
Definice výchozí hodnoty, použité při vložení nového záznamu, pokud není hodnota pro tento sloupec uvedena. |
default_expression |
výchozí hodnota je výsledek tohoto výrazu. |
CHECK |
Při vložení nebo editaci hodnoty bude provedena kotrola hodnoty. Pokud selže kontrola, pak selže celá operace. |
check_expression |
Vlastní kontrola, kde výsledek výrazu určuje, zda má být operace platná nebo nikoliv. |
Příklad1:
Přidá nový sloupec 'quality' (Integer).
ALTER TABLE data ADD quality smallint
Příklad2:
Přidá nový sloupec 'quality' (Integer, nesmí být NULL, s výchozí hodnotou 100).
ALTER TABLE data ADD quality smallint NOT NULL DEFAULT 100
Příklad3:
Smazání existujícího sloupce 'quality'.
ALTER TABLE data DROP COLUMN quality
Příklad4:
Změna existujícího sloupce 'quality' na větší datový typ.
ALTER TABLE data ALTER COLUMN quality int