Vytvoří novou tabulku.
Poznámka: Databázový stroj Microsoft Access nepodporuje použití příkazu CREATE TABLE a žádných příkazů DDL u databází, které nejsou databázemi databázového stroje Microsoft Access. Místo toho používejte metody Create rozhraní DAO.
Syntaxe
CREATE [TEMPORARY] TABLE tabulka (typ pole1 [(velikost)] [NOT NULL] [WITH COMPRESSION | WITH COMP] [index1] [, pole2typ [(velikost)] [NOT NULL] [index2] [, ...]] [, CONSTRAINT index_více_polí [, ...]])
Příkaz CREATE TABLE se skládá z těchto částí:
Část |
Popis |
tabulka |
Název tabulky, která se má vytvořit. |
pole1, pole2 |
Název pole nebo polí, které se vytvoří v nové tabulce. Musíte vytvořit aspoň jedno pole. |
typ |
Datový typ pole v nové tabulce. |
velikost |
Velikost pole v počtu znaků (pouze textová a binární pole). |
index1, index2 |
Klauzule CONSTRAINT definující index pro jedno pole. |
index_více_polí |
Klauzule CONSTRAINT definující index pro více polí. |
Poznámky
Příkaz CREATE TABLE slouží k definování nové tabulky, jejích polí a omezení těchto polí. Pokud je pro pole zadané omezení NOT NULL, dané pole musí obsahovat platná data.
Klauzule CONSTRAINT nastavuje pro pole různá omezení a s její pomocí lze vytvořit primární klíč. Pomocí příkazu CREATE INDEX můžete vytvořit primární klíč nebo další indexy pro existující tabulky.
Omezení NOT NULL můžete použít pro jedno pole nebo v pojmenované klauzuli CONSTRAINT, která se vztahuje buď na jedno pole, nebo na více polí. Omezení NOT NULL ale můžete pro každé pole použít jen jednou. Když se pokusíte toto omezení použít vícekrát, výsledkem bude chyba za běhu.
Vytvořená tabulka typu TEMPORARY se zobrazuje jen v relaci, ve které jste ji vytvořili. Po ukončení relace se automaticky odstraní. K dočasným tabulkám může získat přístup několik uživatelů.
Atribut WITH COMPRESSION je možné použít jen s datovými typy CHARACTER a MEMO (známé také jako typ TEXT) a jejich synonymy.
Atribut WITH COMPRESSION se přidal ke sloupcům typu CHARACTER kvůli změně formátu reprezentace znaků Unicode. Všechny znaky sady Unicode mají stejnou velikost dvou bajtů. Pro stávající databáze Microsoft Accessu, které obsahují převážně znaková data, by to mohlo znamenat, že velikost souboru databáze by se po převodu na formát Microsoft Accessu téměř zdvojnásobila. Reprezentaci řady znakových sad Unicode, které se dříve označovaly jako jednobajtové znakové sady (SBCS), lze ale snadno zkomprimovat do jednoho bajtu. Když definujete sloupec typu CHARACTER s tímto atributem, data se při uložení automaticky zkomprimují a při načtení ze sloupce se dekomprimují.
Sloupce typu MEMO můžete také nakonfigurovat tak, aby ukládaly data v komprimovaném formátu. Vztahuje se na ně ale určité omezení. U sloupců typu MEMO se zkomprimují jen instance, které po komprimaci budou mít velikost 4096 bajtů nebo menší. Všechny ostatní instance sloupců typu MEMO zůstanou nekomprimované. To znamená, že v jedné tabulce můžou být ve sloupci typu MEMO zkomprimovaná i nezkomprimovaná data.