13.1.12 CREATE DATABASE Statement
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}
CREATE DATABASE opretter en database med det angivne navn. For at bruge denne anvisning skal du have CREATE-rettighederne for databasen. CREATE SCHEMA er et synonym for CREATE DATABASE.
Der opstår en fejl, hvis databasen findes, og du ikke har angivet IF NOT EXISTS.
CREATE DATABASE er ikke tilladt i en session, der har en aktiv LOCK TABLES-anvisning.
Hver create_option angiver en databaseegenskab. Databasekarakteristika gemmes i dataleksikonen.
-
Indstillingen
CHARACTER SETangiver standarddatabasens tegnsæt. IndstillingenCOLLATEangiver standarddatabasens kollationering. Du kan finde oplysninger om tegnsæt- og kollationeringsnavne i Kapitel 10, Tegnsæt, kollationeringer, Unicode.Hvis du vil se de tilgængelige tegnsæt og kollationeringer, skal du bruge henholdsvis
SHOW CHARACTER SETogSHOW COLLATION-anvisningerne. Se Afsnit 13.7.7.7.3, “SHOW CHARACTER SET Statement”, og Afsnit 13.7.7.7.4, “SHOW COLLATION Statement”. -
Indstillingen
ENCRYPTION, der blev indført i MySQL 8.0.16, definerer standarddatabasekrypteringen, som arves af tabeller, der oprettes i databasen. De tilladte værdier er'Y'(kryptering aktiveret) og'N'(kryptering deaktiveret). Hvis indstillingenENCRYPTIONikke er angivet, definerer værdien af systemvariablendefault_table_encryptionstandarddatabasekrypteringen. Hvistable_encryption_privilege_check-systemvariablen er aktiveret, krævesTABLE_ENCRYPTION_ADMIN-rettighederne for at angive en standardkrypteringsindstilling, der adskiller sig fradefault_table_encryption-indstillingen. Du kan finde flere oplysninger under Definering af en krypteringsstandard for skemaer og generelle tabelområder.
En database i MySQL er implementeret som en mappe, der indeholder filer, som svarer til tabeller i databasen. Da der ikke er nogen tabeller i en database, når den oprettes første gang, opretter CREATE DATABASE-anvisningen kun en mappe under MySQL-datamappen. Regler for tilladte databasenavne er angivet i Afsnit 9.2, “Skemaobjektnavne”. Hvis et databasenavn indeholder specielle tegn, indeholder navnet for databasemappen kodede versioner af disse tegn som beskrevet i Afsnit 9.2.4, “Mapping of Identifiers to File Names”.
Oprettelse af en databasemappe ved manuelt at oprette en mappe under datamappen (f.eks. med mkdir) er ikke understøttet i MySQL 8.0.
Når du opretter en database, skal du lade serveren administrere mappen og filerne i den. Hvis du håndterer databasekataloger og filer direkte, kan det medføre inkonsistenser og uventede resultater.
MySQL har ingen begrænsning på antallet af databaser. Det underliggende filsystem kan have en grænse for antallet af mapper.
Du kan også bruge programmet mysqladmin til at oprette databaser. Se Afsnit 4.5.2, “mysqladmin – Et MySQL-serveradministrationsprogram”.