Jak vytvořit databázi v SQL
- Pro ukládání dat do databáze je velmi nutné vytvořit databázi.
- Název databáze musí být vždy jedinečný.
- SQL neumožňuje vytvořit databázi se stejným názvem, který již na serveru existuje.
- Aby byla zajištěna jedinečnost při vytváření nové databáze, musí správce databáze znát již existující databáze na serveru.
- Položka ZOBRAZIT DATABÁZE příkaz se používá v SQL k výpisu všech databází, které jsou na serveru.
Příklad:
Zkontrolujeme všechny dostupné databáze.
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | demo | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.05 sec)
Ve výše uvedeném příkladu jsou zobrazeny všechny databáze, které jsou na serveru, včetně systémových databází (informační_schéma, výkonnostní_schema, mysql) a uživatelsky vytvořených databází (demo, test).
- Jakmile se správce databáze seznámí s názvy již existujících databází, které jsou na SQL serveru, může nyní správce databáze vytvořit databázi s libovolným názvem s ohledem na výstup příkazu SHOW DATABASES.
Syntaxe pro vytvoření databáze v SQL:
CREATE DATABASE DATABASENAME;
Příklad: Vytvoříme novou databázi s názvem „Exampledb“.
mysql> CREATE DATABASE Exampledb;
Na serveru byla úspěšně vytvořena nová databáze s názvem „exampledb“.
- Aby bylo zajištěno úspěšné vytvoření databáze, znovu použijeme příkaz SHOW DATABASES.
Příklad:
Zobrazíme všechny dostupné databáze, abychom zkontrolovali, zda je „exampledb“ vytvořen nebo ne.
mysql> SHOW DATABASES;
Výstup:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | +--------------------+
Nyní vidíme nově vytvořenou databázi s názvem „exampledb“ také uvedenu.
- Alternativou k příkazu CREATE DATABASE je CREATE SCHEMA COMMAND . Oba dotazy provádějí stejný úkol vytváření databáze.
Syntaxe:
CREATE SCHEMA DATABASENAME;
Příklad: K vytvoření databáze s názvem „testDB“ použijeme alternativní dotaz.
mysql> CREATE SCHEMA testDB;
Příklad: Zobrazíme všechny dostupné databáze, abychom zkontrolovali, zda je „testdb“ vytvořen nebo ne.
mysql> SHOW DATABASES;
Výstup
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 7 rows in set (0.05 sec)
- Již vytvořenou databázi lze také zkontrolovat pomocí níže uvedeného příkazu:
SHOW CREATE DATABASE DATABASE_NAME;
Příklad:
We will review the already created database named as “exampledb”. mysql> SHOW CREATE DATABASE exampledb;
Výstup:
+------------+-----------------------------------------------------------------------+ | Database | Create Database | +------------+-----------------------------------------------------------------------+ | exampledb | CREATE DATABASE ` exampledb ` /*!40100 DEFAULT CHARACTER SET latin1 */ | +------------+-----------------------------------------------------------------------+ 1 row in set (0.00 sec)
Zde se spolu se znakovou sadou zobrazí příkaz, který byl použit k vytvoření databáze s názvem „exampledb“. Vzhledem k tomu, že znaková sada nebyla při vytváření databáze specifikována, je databáze vytvořena s výchozí znakovou sadou, tj. latin1 .
- Chcete-li uložit data do konkrétní databáze, musíte serveru sdělit, kterou konkrétní databázi chce administrátor použít.
Syntaxe:
USE DATABASE_NAME;
Příklad:
Aby uživatel mohl pracovat na konkrétní databázi, musí sdělit serveru, že chce provádět další dotazy na „exampledb“.
mysql> USE exampledb;
Výstup:
Database changed
Vzhledem k tomu, že jsme použili databázi nazvanou „exampledb“, všechny další dotazy budou nyní provozovány v této konkrétní databázi.
Parametry příkazu CREATE
Dotaz CREATE DATABASE lze také improvizovat přidáním parametrů a specifikací.
- POKUD NEEXISTUJE
Na jednom serveru MySQL může být více databází. Můžete se pokusit vytvořit databázi, která je již přítomna na serveru MySQL. V takovém případě tedy použití parametru „IF NOT EXISTS“ s dotazem CREATE DATABASE slouží účelu. Před vytvořením nové databáze dá serveru pokyn, aby zkontroloval, zda databáze se zadaným názvem již existuje.
Syntaxe:
CREATE DATABASE IF NOT EXISTS DATABASENAME;
Příklad:
Abychom mohli vytvořit novou databázi „demodb“, nejprve zobrazíme všechny dostupné databáze a poté vytvoříme „demodb“, pokud databáze s tímto názvem již neexistuje.
mysql> SHOW DATABASES;
Výstup:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 7 rows in set (0.05 sec)
mysql> CREATE DATABASE IF NOT EXISTS demodb; Query OK, 1 row affected (0.00 sec)
Dříve neexistovala žádná databáze s názvem „demodb“. Nyní tedy bude vytvořena databáze s názvem „demodb“. Pokud se pokusíme vytvořit databázi s existujícím názvem bez použití IF NOT EXISTS, pak v tom případě SQL vyvolá chybu.
Příklad:
Nyní zobrazíme všechny dostupné databáze, abychom zajistili vytvoření databáze „demodb“.
mysql> SHOW DATABASES;
Výstup:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | demodb | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 8 rows in set (0.00 sec)
Zde se vytvoří databáze s názvem „demodb“.
- Řazení a znaková sada
Collation je soubor pravidel, která jsou užitečná pro srovnání. Data SQL lze ukládat v jiném jazyce než v angličtině. Chcete-li uložit data v jiném jazyce, musíte vybrat znakovou sadu pro tento konkrétní jazyk. Různé úrovně znakové sady zahrnují server, databázi, tabulku a sloupec. Jakmile je sada znaků vybrána, lze vybrat pouze pravidla řazení.
Příklad:
Vytvoříme novou databázi s názvem „sample“, jejíž znaková sada je „latin1“ a pravidlo řazení je „latin1_swedish_ci“.
mysql> CREATE DATABASE IF NOT EXISTS sample CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Zde je vytvořena „ukázková“ databáze se znakovou sadou latin1 a pravidlem řazení latin1_swedish_ci.