Promotic
WikipediaLinkedInYoutubeTwitterFacebook

CREATE TABLE - příkaz jazyka DB_MSSQL

Popis:
Vytvoření nové databázové tabulky. Vlastní struktura tabulky se sestává z jednotlivých sloupců. Každý sloupec má svůj název, datový typ a případně další atributy. Každá tabulka v SQL Serveru musí mít primární klíč (atribut PRIMARY KEY). S daty se v tabulce pracuje po řádcích.
Syntaxe:

CREATE TABLE table_name

(

  column_name data_type [ NULL | NOT NULL ] [ PRIMARY KEY | UNIQUE ] [ IDENTITY ] [ DEFAULT default_expression ] [ CHECK check_expression ]

  [, ...]

)

 
table_name Název tabulky.
column_name Název sloupce.
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 Povoluje použití hodnoty NULL v daném sloupci.
NOT NULL Zakazuje použití hodnoty NULL v daném sloupci.
PRIMARY KEY Definuje 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 věty 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 Definování implicitní hodnoty, použité při vložení nové věty, není-li hodnota pro tento sloupec uvedena.
default_expression Jako implicitní hodnota se použije výsledek tohoto výrazu.
CHECK Při vložení nebo editaci hodnoty bude provedena kotrola hodnoty. Selže-li kontrola, celá operace selže.
check_expression Vlastní kontrola, kde výsledek výrazu určuje, zda má být operace platná či nikoliv.
Příklad:
Vytvoří novou tabulku data se sloupci time (čas, primární klíč, nesmí být NULL), 'flags' (celé číslo, nesmí být NULL, s implicitní hodnotou 0) a 'value' (reálné číslo, nesmí být NULL, s implicitní hodnotou 0).
CREATE TABLE data
(
  time datetime PRIMARY KEY NOT NULL,
  flags smallint NOT NULL DEFAULT 0,
  value float NOT NULL DEFAULT 0
)
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice