MySQL :: Příkaz CREATE DATABASE

13.1.12 CREATE DATABASE Příkaz

CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}

CREATE DATABASE vytvoří databázi s daným názvem. K použití tohoto příkazu potřebujete pro danou databázi oprávnění CREATE. CREATE SCHEMA je synonymem pro CREATE DATABASE.

K chybě dojde, pokud databáze existuje a nezadali jste příkaz IF NOT EXISTS.

CREATE DATABASE není povoleno v rámci relace, která má aktivní příkaz LOCK TABLES.

Každý create_option určuje charakteristiku databáze. Charakteristiky databáze jsou uloženy v datovém slovníku.

  • Volba CHARACTER SET určuje výchozí znakovou sadu databáze. Volba COLLATE určuje výchozí znakovou sadu databáze (collation). Informace o názvech znakových sad a kolace naleznete v kapitole 10, Znakové sady, kolace, Unicode.

    Chcete-li zobrazit dostupné znakové sady a koliace, použijte příkazy SHOW CHARACTER SET, respektive SHOW COLLATION. Viz kapitola 13.7.7.3, „Příkaz SHOW CHARACTER SET“, a kapitola 13.7.7.4, „Příkaz SHOW COLLATION“.

  • Volba ENCRYPTION, zavedená v MySQL 8.0.16, definuje výchozí šifrování databáze, které dědí tabulky vytvořené v databázi. Povolené hodnoty jsou 'Y' (šifrování povoleno) a 'N' (šifrování zakázáno). Není-li možnost ENCRYPTION zadána, určuje výchozí šifrování databáze hodnota systémové proměnné default_table_encryption. Pokud je systémová proměnná table_encryption_privilege_check povolena, je pro zadání výchozího nastavení šifrování, které se liší od nastavení default_table_encryption, vyžadováno oprávnění TABLE_ENCRYPTION_ADMIN. Další informace naleznete v části Definování výchozího šifrování pro schémata a obecné tabulkové prostory.

Databáze v MySQL je implementována jako adresář obsahující soubory, které odpovídají tabulkám v databázi. Protože při počátečním vytvoření databáze v ní nejsou žádné tabulky, příkaz CREATE DATABASE vytvoří pouze adresář pod datovým adresářem MySQL. Pravidla pro přípustné názvy databází jsou uvedena v části 9.2 „Názvy objektů schématu“. Pokud název databáze obsahuje speciální znaky, název adresáře databáze obsahuje kódované verze těchto znaků, jak je popsáno v části 9.2.4, „Mapování identifikátorů na názvy souborů“.

Vytvoření adresáře databáze ručním vytvořením adresáře pod datovým adresářem (například pomocí mkdir) není v MySQL 8.0 podporováno.

Při vytváření databáze nechte adresář a soubory v něm spravovat server. Přímá manipulace s adresáři a soubory databáze může způsobit nekonzistence a neočekávané výsledky.

MySQL nemá žádné omezení počtu databází. Podkladový souborový systém může mít omezení počtu adresářů.

K vytváření databází můžete také použít program mysqladmin. Viz část 4.5.2, „mysqladmin – program pro správu serveru MySQL“.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.