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 creëert een database met de gegeven naam. Om dit statement te gebruiken, heeft u de CREATE privilege nodig voor de database. CREATE SCHEMA is een synoniem voor CREATE DATABASE.

Er treedt een fout op als de database bestaat en u IF NOT EXISTS niet hebt opgegeven.

CREATE DATABASE is niet toegestaan binnen een sessie die een actief LOCK TABLES statement heeft.

Elke create_option specificeert een database karakteristiek. Databasekenmerken worden opgeslagen in de data dictionary.

  • De optie CHARACTER SET specificeert de standaard databasetekenset. De optie COLLATE specificeert de standaardsamenstelling van de database. Zie Hoofdstuk 10, Tekensets, Sorteringen, Unicode voor informatie over tekenset- en collatienamen.

    Om de beschikbare tekensets en collaties te zien, gebruikt u respectievelijk de SHOW CHARACTER SET en SHOW COLLATION verklaringen. Zie Paragraaf 13.7.7.3, “SHOW CHARACTER SET Statement”, en Paragraaf 13.7.7.4, “SHOW COLLATION Statement”.

  • De optie ENCRYPTION, geïntroduceerd in MySQL 8.0.16, definieert de standaard databaseversleuteling, die wordt geërfd door tabellen die in de database worden aangemaakt. De toegestane waarden zijn 'Y' (encryptie ingeschakeld) en 'N' (encryptie uitgeschakeld). Als de optie ENCRYPTION niet is gespecificeerd, bepaalt de waarde van de default_table_encryption systeemvariabele de standaard database encryptie. Als de systeemvariabele table_encryption_privilege_check is ingeschakeld, is het privilege TABLE_ENCRYPTION_ADMIN vereist om een standaardcoderingsinstelling op te geven die afwijkt van de instelling default_table_encryption. Zie Een coderingsstandaard definiëren voor schema’s en algemene tabelruimten voor meer informatie.

Een database in MySQL is geïmplementeerd als een map met bestanden die corresponderen met tabellen in de database. Omdat er geen tabellen in een database staan wanneer deze voor het eerst wordt aangemaakt, creëert de CREATE DATABASE-instructie alleen een directory onder de MySQL-datadirectory. Regels voor toelaatbare databasenamen worden gegeven in Paragraaf 9.2, “Schema Object Namen”. Als een databasenaam speciale tekens bevat, bevat de naam voor de databasemap gecodeerde versies van die tekens zoals beschreven in Paragraaf 9.2.4, “Mapping of Identifiers to File Names”.

Het aanmaken van een database directory door handmatig een directory aan te maken onder de data directory (bijvoorbeeld, met mkdir) wordt niet ondersteund in MySQL 8.0.

Wanneer u een database aanmaakt, laat de server de directory en de bestanden erin beheren. Het direct manipuleren van database directories en bestanden kan leiden tot inconsistenties en onverwachte resultaten.

MySQL heeft geen limiet op het aantal databases. Het onderliggende bestandssysteem kan een limiet hebben op het aantal directories.

U kunt ook het mysqladmin programma gebruiken om databases aan te maken. Zie Paragraaf 4.5.2, “mysqladmin – Een MySQL Server Beheerprogramma”.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.