Než do databáze uložíme první data, musíme jí říct, jak mají vypadat – kolik bude sloupců a co do nich patří. Tomu se říká vytvoření tabulky a slouží k němu příkaz CREATE TABLE. Navážeme na tabulku produkty z úvodu a vytvoříme ji doopravdy.
Zápis CREATE TABLE
V příkazu vyjmenujete sloupce a u každého řeknete, jaký typ dat do něj půjde:
CREATE TABLE produkty (
id INT AUTO_INCREMENT PRIMARY KEY,
nazev VARCHAR(100) NOT NULL,
cena INT NOT NULL,
skladem INT DEFAULT 0
);
Každý řádek v závorce je jeden sloupec: nejdřív jeho jméno, pak typ a případně doplňující pravidla. Když tenhle dotaz spustíte v phpMyAdminu, vznikne prázdná tabulka připravená na data.
Datové typy – co do sloupce patří
Typ určuje, jaká data sloupec přijme. Pro začátek si vystačíte s několika:
INT– celé číslo (cena, počet kusů, id).VARCHAR(100)– krátký text do uvedené délky (název, jméno, e-mail). Číslo v závorce je maximální počet znaků.TEXT– dlouhý text bez pevného limitu (popis, obsah článku).DECIMAL(8,2)– desetinné číslo (cena s haléři, např.199.90).DATE– datum ve tvaru2026-10-06.TINYINT(1)– hodí se jako ano/ne (1nebo0).
INT prostě nikdo nedostane slovo.Dvě doplňující pravidla
Za typem jste si všimli slov jako NOT NULL. To jsou pravidla pro sloupec:
NOT NULL– sloupec nesmí zůstat prázdný. Produkt bez názvu nedává smysl, tak ho databáze nepustí.DEFAULT 0– když hodnotu nevyplníte, doplní se tahle výchozí (u skladu nula kusů).
Primární klíč a automatické číslování
Řádek id INT AUTO_INCREMENT PRIMARY KEY dělá dvě věci, které chcete skoro u každé tabulky:
- PRIMARY KEY (primární klíč) – označí sloupec, který každý řádek jednoznačně identifikuje. Žádné dvě
idse nebudou opakovat. - AUTO_INCREMENT – databáze
idčísluje sama. První produkt dostane 1, další 2, 3… vy se o to nestaráte.
Díky tomu máte na každý záznam spolehlivý „rodný list", podle kterého ho později najdete, upravíte nebo smažete.
Časté chyby
- Chybějící čárka mezi sloupci. Každý sloupec kromě posledního musí být zakončený čárkou – jinak dotaz spadne na chybu syntaxe.
- Dva primární klíče. Tabulka má jen jeden
PRIMARY KEY. Obvykle je toid. - Příliš krátký VARCHAR. Když dáte
VARCHAR(10)na e-mail, delší adresa se usekne. Raději velkoryseji, třebaVARCHAR(255).
Nechcete web řešit sami a chcete ho mít hotový a profesionální?
Podívejte se na tvorbu webů →© Ondřej Šteigl. Autorem návodů jsem já. Obsah je autorským dílem chráněným podle zákona č. 121/2000 Sb. (autorský zákon). Kopírování, přebírání nebo šíření bez mého předchozího písemného souhlasu je zakázáno. Výukové použití je vítáno – stačí uvést zdroj (osteigl.cz).