Opis:
Wytworzy nową tabelkę bazodanową.
Właściwa struktura tabeli składa się z pojedyńczych kolumn. Każda kolumna posiada swoją nazwę, typ danych oraz ewentaulnie następne atrybuty. Każda tabela w SQL Serwerze musi posiadać klucz podstawowy (atrybut PRIMARY KEY). Z danymi można w tabeli pracować po wierszach.
Składnia:
CREATE TABLE table_name
(
column_name data_type [
NULL |
NOT NULL ] [
PRIMARY KEY |
UNIQUE ] [
IDENTITY ] [
DEFAULT default_expression ] [
CHECK check_expression ]
[, ...]
)
table_name |
Nazwa tabeli. |
column_name |
Nazwa kolumny. |
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 |
Zezwala na zastosowanie wartości NULL w określonej kolumnie. |
NOT NULL |
Zabrania 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ład:
Wytworzy nową tabelkę data z kolumnami time (czas, klucz podstawowy, nie może być NULL), 'flags' (liczba całkowita, nie może być NULL, domyślnie 0) oraz 'value' (liczba rzeczywista, nie może być NULL, domyślnie 0).
CREATE TABLE data
(
time datetime PRIMARY KEY NOT NULL,
flags smallint NOT NULL DEFAULT 0,
value float NOT NULL DEFAULT 0
)