CREATE TABLE

Syntax

Syntax pre Oracle:
CREATE TABLE [user.]table ( { column1 datatype [DEFAULT expn] [column_constraint ] | table_constraint }
[, { column2 datatype [DEFAULT expn] [column_constraint ] | table_constraint }] ... )
[CLUSER cluster (column1 [, column2] ...) ]
[PCTFREE n]
[PCTUSED n]
[INITRANS n]
[MAXTRANS n]
[STORAGE n]
[TABLESPACE tablespace]
[ENABLE | DISABLE]
[AS query]

Popis

Príkaz jazyka SQL
Príkaz CREATE TABLE slúži k vytvoreniu tabuľky na databáze.



Možné kontrolné podmienky pre stĺpec používané v príkaze CREATE TABLE

Hodnota
Popis
NULL
Stĺpec môže obsahovať hodnoty NULL
NOT NULL
Stĺpec nesmie obsahovať hodnoty NULL
UNIQUE
Stĺpec alebo kombinácia stĺpcov je unikátna
PRIMARY KEY
Stĺpec alebo kombinácia stĺpcov je primárnym kľúčom tabuľky
FOREIGN KEY
Stĺpec alebo kombinácia stĺpcov je cudzím kľúčom tabuľky
PREFERENCES
Určuje, ktorý primárny kľúč odpovedá cudziemu kľúču
ON DELETE CASCADE
Určuje aby sa automaticky odstránili všetky závislé záznamy z ostatných tabuliek, v ktorých tento stĺpec tvorí cudzí kľúč
CHECK
Určuje podmienku, ktorú záznam musí splňovať





Príklady


Všeobecný príklad, pre väčšinu databáz:
CREATE TABLE items
(
      ItemNumber      int        NOT NULL,
      Description     char(30)   NOT NULL,
      Price            numeric(9,2)   NOT NULL
)


Príklad pre Oracle:
CREATE TABLE customer
(CUSTOMER_ID NUMBER(4) NOT NULL,
CUSTOMER_NAME VARCHAR2(50) NOT NULL,
STREET_ADDRESS VARCHAR2(50) NOT NULL,
CITY VARCHAR2(50) NOT NULL,
STATE VARCHAR2(2) NOT NULL CHECK (STATE IN ('SR', 'CZ', 'PL')));


Príklad pre MySQL:
CREATE TABLE osoby (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT, meno VARCHAR(20), priezvisko VARCHAR(20), datum_narodenia DATE);