MySQL :: MySQL 8.0 Reference Manual :: 13.1.12 CREATE DATABASE Statement

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. Indstillingen COLLATE 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 og SHOW 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 indstillingen ENCRYPTION ikke er angivet, definerer værdien af systemvariablen default_table_encryption standarddatabasekrypteringen. Hvis table_encryption_privilege_check-systemvariablen er aktiveret, kræves TABLE_ENCRYPTION_ADMIN-rettighederne for at angive en standardkrypteringsindstilling, der adskiller sig fra default_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”.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.