Jak vytvořit databázi v MySQL (Vytvořit MySQL tabulky)
⚡ Chytré shrnutí
Vytvoření databáze v MySQL sleduje dvě osvědčené cesty: spuštěním příkazu CREATE DATABASE nebo generováním fyzických schémat z ER modelu prostřednictvím MySQL Dopředné inženýrství pracovních stolů. Oba přístupy produkují identické stoly připravené k výrobě.

Kroky k vytvoření databáze v MySQL
Databáze v MySQL je pojmenovaný kontejner pro tabulky, pohledy a související objekty. Můžete si ho vytvořit dvěma způsoby:
1) Provedením jednoduchého SQL dotazu
2) Pomocí dopředného inženýrství v MySQL Workbench
As SQL začátečník, podívejme se nejprve na metodu dotazu.
Jak vytvořit databázi v MySQL
Zde je návod, jak vytvořit databázi v MySQL:
CREATE DATABASE je SQL příkaz používaný k vytvoření databáze v MySQL.
Představte si, že potřebujete vytvořit databázi s názvem „filmy“. Databázi můžete vytvořit v MySQL spuštěním následujícího SQL příkazu.
CREATE DATABASE movies;
Poznámka: Místo příkazu CREATE DATABASE můžete také použít příkaz CREATE SCHEMA.
Příkaz funguje pouze jednou. Jeho opětovné spuštění vyvolá chybu, takže vylepšeme dotaz o více parametrů.
POKUD NEEXISTUJE
Single MySQL Server může obsahovat mnoho databází. Pokud server sdílí několik lidí, můžete zkusit vytvořit databázi s názvem existující databáze.
POKUD NEEXISTUJE instruuje MySQL server před vytvořením zkontroluje databázi se stejným názvem. Databáze se vytvoří pouze v případě, že je název volný; bez této klauzule MySQL vyvolá chybu.
CREATE DATABASE IF NOT EXISTS movies;
Jakmile je název databáze bezpečný, dalším rozhodnutím je, jak MySQL by měl ukládat a porovnávat text uvnitř něj.
Kompletace a znaková sada
A znaková sada určuje, které znaky může sloupec ukládat, zatímco porovnání je soubor pravidla použitá při porovnávání a řazení. Obojí lze definovat na čtyřech úrovních: server, databáze, tabulka a sloupec.
Zvolené řazení závisí na znakové sadě. Například znaková sada latin1 používá latin1_swedish_ci řazení, což je švédské pořadí bez rozlišování velkých a malých písmen.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Pro místní jazyky, jako je arabština nebo čínština, vyberte kódování Unicode. utf8mb4 znaková sada, která uchovává všechny znaky Unicode, včetně emotikonů. V MySQL 8.0, utf8mb4 je výchozí znaková sada a utf8mb4_0900_ai_ci výchozí řazení.
CREATE DATABASE IF NOT EXISTS movies CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
Můžete najít seznam všech řazení a znakových sad zde.
Seznam existujících databází si můžete zobrazit spuštěním následujícího příkazu SQL.
SHOW DATABASES;
S databází na místě můžete nyní přidat tabulky, které budou skutečně obsahovat záznamy.
Jak vytvořit tabulku v MySQL
Příkaz CREATE TABLE se používá k vytváření tabulek v databázi.
Jak ukazuje diagram, každá tabulka patří do jedné databáze. Tabulky se vytvářejí pomocí VYTVOŘENÍ TABULKY příkaz, který má následující syntaxi.
CREATE TABLE [IF NOT EXISTS] `TableName` (`fieldname` dataType [optional parameters]) ENGINE = storage Engine;
ZDE
- „CREATE TABLE“ je zodpovědný za vytvoření tabulky v databázi.
- „[IF NOT EXISTS]“ je volitelný a tabulku vytvoří pouze v případě, že není nalezen odpovídající název tabulky.
- „`fieldName`“ je název pole a „datový typ“ definuje povahu dat v něm uložených.
- „[volitelné parametry]“ jsou doplňující informace o poli, například „AUTO_INCREMENT“ nebo NOT NULL.
- Tabulku spravuje „Storage Engine“, obvykle InnoDB, která podporuje transakce a cizí klíče.
MySQL Příklad vytvoření tabulky
Níže je MySQL příklad vytvoření tabulky v databázi:
CREATE TABLE IF NOT EXISTS `MyFlixDB`.`Members` ( `membership_number` INT AUTO_INCREMENT , `full_names` VARCHAR(150) NOT NULL , `gender` VARCHAR(6) , `date_of_birth` DATE , `physical_address` VARCHAR(255) , `postal_address` VARCHAR(255) , `contact_number` VARCHAR(75) , `email` VARCHAR(255) , PRIMARY KEY (`membership_number`) ) ENGINE = InnoDB;
Poznámka: správné MySQL klíčové slovo je AUTO_INCREMENT s podtržítkem. AUTOINCREMENT patří SQLite a vyvolá syntaktickou chybu v MySQL.
Každý sloupec nese datový typ, proto si pečlivě vybírejte: nepodceňujte ani nepřeceňujte rozsah očekávaných dat.
MySQL Typy dat
Datové typy definují povahu dat, která lze uložit do konkrétního sloupce tabulky.
MySQL má 3 hlavní kategorie datových typů, a to:
- Číselný
- Text
- Čas schůzky
Číselné datové typy
Číselné datové typy se používají k ukládání číselných hodnot. Je velmi důležité se ujistit, že rozsah vašich dat je mezi dolní a horní hranicí zvoleného číselného datového typu.
| TINYINT( ) | -128 až 127 normální 0 až 255 NESIGNOVANÉ. |
| SMALLINT( ) | -32768 až 32767 normální 0 až 65535 NESIGNOVANÉ. |
| STŘEDNÍ ( ) | -8388608 až 8388607 normální 0 až 16777215 NESIGNOVANÉ. |
| INT( ) | -2147483648 až 2147483647 normální 0 až 4294967295 NESIGNOVANÉ. |
| VELKÝ ( ) | -9223372036854775808 až 9223372036854775807 normální 0 až 18446744073709551615 NESIGNOVANÉ. |
| FLOAT | Malé přibližné číslo s plovoucí desetinnou čárkou. |
| DVOJITÉ ( , ) | Velké číslo s plovoucí desetinnou čárkou. |
| DESETINNÉ ( , ) | Typ DOUBLE uložený jako řetězec s pevnou desetinnou čárkou. Volba pro ukládání hodnot měn. |
Typy textových dat
Jak název kategorie datových typů napovídá, tyto se používají k ukládání textových hodnot. Vždy se ujistěte, že délka textových dat nepřesahuje maximální délku sloupce.
| CHAR( ) | Pevná sekce o délce 0 až 255 znaků. |
| VARCHAR( ) | Proměnná sekce od 0 do 255 znaků dlouhá. |
| TINYTEXT | Řetězec o maximální délce 255 znaků. |
| TEXT | Řetězec o maximální délce 65535 znaků. |
| KAPKA | Řetězec o maximální délce 65535 znaků. |
| STŘEDNÍ TEXT | Řetězec o maximální délce 16777215 znaků. |
| STŘEDNÍ BLOB | Řetězec o maximální délce 16777215 znaků. |
| LONGTEXT | Řetězec o maximální délce 4294967295 znaků. |
| LONGBLOB | Řetězec o maximální délce 4294967295 znaků. |
Datové typy data a času
Datové typy datum a čas ukládají hodnoty kalendáře a hodin v pevném formátu, což zajišťuje spolehlivost řazení a porovnávání.
| DATA | YYYY-MM-DD |
| ČAS SCHŮZKY | RRRR-MM-DD HH: MM: SS |
| ČASOVÉ RAZÍTKO | YYYYMMDDHHMMSS |
| TIME | HH: MM: SS |
Jiné datové typy
Kromě výše uvedených existují i další datové typy. MySQL.
| ENUM | Uložení textové hodnoty vybrané ze seznamu předdefinovaných textových hodnot |
| SET | To se také používá pro ukládání textových hodnot vybraných ze seznamu předdefinovaných textových hodnot. Může mít více hodnot. |
| BOOL | Synonymum pro TINYINT(1), používané k ukládání booleovských hodnot |
| Binární | Podobné jako CHAR; rozdíl je v tom, že texty jsou uloženy v binárním formátu. |
| VARBINARY | Podobné jako VARCHAR; rozdíl je v tom, že texty jsou uloženy v binárním formátu. |
Nyní se podívejme na dotaz pro vytvoření tabulky, která používá všechny datové typy. Prostudujte si ho a identifikujte, jak je každý datový typ definován v níže uvedené tabulce pro vytvoření. MySQL příklad.
CREATE TABLE `all_data_types` ( `varchar` VARCHAR( 20 ) , `tinyint` TINYINT , `text` TEXT , `date` DATE , `smallint` SMALLINT , `mediumint` MEDIUMINT , `int` INT , `bigint` BIGINT , `float` FLOAT( 10, 2 ) , `double` DOUBLE , `decimal` DECIMAL( 10, 2 ) , `datetime` DATETIME , `timestamp` TIMESTAMP , `time` TIME , `year` YEAR , `char` CHAR( 10 ) , `tinyblob` TINYBLOB , `tinytext` TINYTEXT , `blob` BLOB , `mediumblob` MEDIUMBLOB , `mediumtext` MEDIUMTEXT , `longblob` LONGBLOB , `longtext` LONGTEXT , `enum` ENUM( '1', '2', '3' ) , `set` SET( '1', '2', '3' ) , `bool` BOOL , `binary` BINARY( 20 ) , `varbinary` VARBINARY( 20 ) ) ENGINE = MYISAM;
Nejlepší postupy pro vytváření a MySQL Databáze
Několik konvencí zajistí čitelnost vašich skriptů:
- Pro klíčová slova SQL používejte velká písmena, např. „DROP SCHEMA IF EXISTS `MyFlixDB`;“
- Všechny SQL příkazy ukončujte středníky.
- Nepoužívejte mezery v názvech schémat, tabulek a polí. K oddělení názvů schémat, tabulek nebo polí používejte podtržítka.
- Pro nové tabulky upřednostňujte InnoDB před MyISAM, protože InnoDB podporuje transakce, zamykání na úrovni řádků a cizí klíče.
Metoda dotazu je dokončena. Druhá trasa se do stejné databáze dostane z vizuálního modelu namísto ručně psaného SQL.
Jak vytvořit MySQL Diagram pracovního stolu ER Forward Engineering
MySQL Workbench má nástroje, které podporují dopředné inženýrství. Přední inženýrství je technický termín, který popisuje proces automatický převod logického modelu do fyzické implementace.
Vytvořili jsme an ER diagram v našem ER modelování lekce. Nyní použijeme tento ER model k vygenerování SQL skriptů, které vytvoří naši databázi.
Vytvoření databáze MyFlix z modelu MyFlix ER
Krok 1) Otevřete ER model databáze MyFlix které jste vytvořili dříve.
Krok 2) Vyberte dopředného inženýra
Klikněte na nabídku Databáze a vyberte možnost Přední inženýr.
Krok 3) Možnosti připojení
V dalším okně se můžete připojit k instanci MySQL server. Klikněte na rozbalovací seznam uložených připojení a vyberte možnost lokální hostitel. Klikněte na tlačítko Spustit.
Krok 4) Vyberte níže uvedené možnosti
V zobrazeném průvodci vyberte níže uvedené možnosti. Klikněte na tlačítko Další.
Krok 5) Ponechte výchozí nastavení a klikněte na tlačítko Další
Na další obrazovce se zobrazí souhrn objektů v našem diagramu EER. Naše databáze MyFlix má 5 tabulek. Ponechte výchozí výběr a klikněte na tlačítko Další.
Krok 6) Revzobrazit skript SQL
V okně níže se zobrazí náhled SQL skriptu, který vytváří naši databázi. Uložte skript do souboru *.sql nebo jej zkopírujte do schránky a poté klikněte na tlačítko Další.
Krok 7) Zaznamenání průběhu
Níže uvedené okno se zobrazí po vytvoření databáze na vybraném MySQL instance serveru. Tabulky z modelu ER nyní fyzicky existují na serveru.
Databáze spolu s fiktivními daty je připojena. Tuto databázi budeme používat v následujících lekcích. Jednoduše ji importujte do MySQL Pracovní stůl pro začátek.
Kliknutím sem stáhnete MyFlixDB







.png)