Vytvoření databáze v MySQL je tak snadné, jak jen to jde. Stačí jeden řádek. Ve skutečnosti mi obvykle trvá déle vymyslet název databáze, než ji vytvořit!
I když své databáze jistě můžete vytvářet prostřednictvím grafického uživatelského rozhraní MySQL Workbench, pravděpodobně bude rychlejší vytvořit je programově pomocí CREATE DATABASE
prohlášení.
CREATE DATABASE
Prohlášení
Novou databázi můžete vytvořit pomocí CREATE DATABASE
prohlášení. Tento příkaz je součástí SQL, což je speciální jazyk pro dotazování a programování databází.
Syntaxe je CREATE DATABASE db_name
kde db_name
je název databáze, kterou chcete vytvořit.
Chcete-li například vytvořit databázi s názvem FruitShop
zadejte následující do záložky Query a spusťte dotaz:
CREATE DATABASE FruitShop;
To je vše, co je potřeba. SCHÉMA záložka v levém menu by nyní měla zobrazovat vaši databázi:
Pokud svou databázi nevidíte, klikněte na malou ikonu obnovení vedle SCHEMAS nadpis.
K zobrazení seznamu databází na serveru můžete také použít následující příkaz:
SHOW DATABASES;
Ale samozřejmě nyní máte prázdnou databázi. Než budete mít plně funkční databázi, budete muset přidat tabulky a vložit data. Brzy se k tomu dostaneme.
CREATE SCHEMA
Prohlášení
Můžete také použít CREATE SCHEMA
prohlášení. Toto používá stejnou syntaxi, takže výše uvedený příkaz by mohl být přepsán na toto:
CREATE SCHEMA FruitShop;
Pomocí IF NOT EXISTS
Můžete použít IF NOT EXISTS
abyste zabránili výskytu chyby, pokud databáze již existuje. Zde je příklad:
CREATE DATABASE IF NOT EXISTS FruitShop;
Pomocí DROP DATABASE IF EXISTS
Pomocí výše uvedeného IF NOT EXISTS
je skvělé, pokud nemáte v úmyslu nahradit databázi (a všechna její data) novou. Někdy ale možná budete chtít smazat starou databázi a začít znovu od začátku. Zde je DROP DATABASE
přijde vhod.
Můžete použít DROP DATABASE
zrušit všechny tabulky v databázi a odstranit databázi před spuštěním CREATE DATABASE
prohlášení. Můžete to zkombinovat s IF EXISTS
určit, že příkaz by měl být proveden pouze v případě, že databáze aktuálně existuje. Tím zabráníte výskytu chyby, pokud se pokusíte zrušit databázi, která ve skutečnosti neexistuje.
Takže takhle by to mohlo vypadat:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop;
O střednících
Výše uvedený příklad používá středníky (;
) pro označení konce každého příkazu. Příkazy MySQL se obvykle skládají z příkazu SQL následovaného středníkem. Existuje několik výjimek, ale většina příkazů se řídí touto konvencí. Pokud zjistíte, že zapsaný příkaz nelze spustit, zkontrolujte, zda jste za každým příkazem vložili středník.
Návrh databáze
Než vytvoříte databázi, musíte se zamyslet nad jejím designem. Musíte si promyslet, jaké tabulky a další objekty bude obsahovat a také data, která budou v databázi uložena.
Ve skutečnosti, když vytváříte databázi, nevytváříte jen prázdnou databázi a pak přemýšlíte o tom, jaké tabulky do ní budou později. Normálně byste napsali skript, který vytvoří databázi a všechny její tabulky a další objekty najednou.
Naštěstí je to docela jednoduché. Jde jednoduše o kombinování příkazů SQL, jeden po druhém, pro každý objekt, který chcete vytvořit.
Dále se podíváme na vytváření tabulek, ale prozatím je zde rychlý příklad:
DROP DATABASE IF EXISTS FruitShop; CREATE DATABASE FruitShop; USE FruitShop; CREATE TABLE Fruit (FruitName VARCHAR(20), DateEntered DATETIME);
Toto je jednoduchý příklad, který vytvoří databázi a tabulku v této databázi. Můžete napsat dlouhý skript, který vytvoří databázi a mnoho tabulek a také další databázové objekty.
Můžete také napsat další skript, který naplní tabulky počátečními požadovanými daty. Pokud chcete, můžete dokonce oba skripty zkombinovat do jednoho.
Konvence pojmenování
Je dobré zachovat jednotnou konvenci pojmenování. Můžete zavolat databázi FruitShop
(velká písmena), FRUITSHOP
(velká písmena), fruitshop
(malá písmena), fruit_shop
(s oddělovačem podtržítka) atd.
Někteří lidé také rádi dávají svým databázovým objektům předponu. Například předpona tabulek pomocí tbl
nebo tbl_
a uložené procedury s sp
nebo sp_
. Tabulka by se tedy mohla jmenovat tblCustomers
nebo tbl_customers
atd.
Měli byste také přemýšlet o množném čísle. Říkáte tabulce, která obsahuje všechny záznamy zákazníků, customer
nebo customers
. Pokud zvolíte customers
, pak byste také měli zavolat tabulku obsahující všechny produkty products
a nikoli product
.
Ať už si vyberete kteroukoli, měli byste se pokusit zachovat stejnou konvenci v celé databázi.
Zavedení konvence pojmenování nesmírně pomůže, když začnete psát dotazy do databáze. Nebudete si muset pamatovat, zda jste konkrétní tabulku pojmenovali podtržítkem, velikostí písmen v názvu atd.