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.
- user - vlastník tabuľky
- table - tabuľka, ktorú chceme vytvoriť
- column - meno stĺpca
- expn - východzia hodnota pre stĺpec. Použije sa, keď pri vkladní pre stĺpec nie je uvedená hodnota
- column_constraint - definuje obmedzenie ako súčasť definície stĺpca. Môže byť jedno z nasledujúcej tabuľke
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 aicky 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ť |
- cluster - cluster, ktorého súčasťou má byť tabuľka
- n - kladné celé číslo
- query - príkaz SQL, pomocou ktorého bude definovaná nová tabuľka
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
)
(
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')));
(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);