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 SET
angiver standarddatabasens tegnsæt. IndstillingenCOLLATE
angiver 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 SET
ogSHOW 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 indstillingenENCRYPTION
ikke er angivet, definerer værdien af systemvariablendefault_table_encryption
standarddatabasekrypteringen. 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”.