13.1.11 CREATE DATABASE Statement
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name}
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. Database karakteristieken worden opgeslagen in het db.opt
bestand in de database directory. De optie CHARACTER SET
specificeert de standaard database karakterset. De optie COLLATE
specificeert de standaard database collatie. 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.5.3, “SHOW CHARACTER SET Statement”, en Paragraaf 13.7.5.4, “SHOW COLLATION Statement”.
Een database in MySQL is geïmplementeerd als een directory die bestanden bevat die corresponderen met tabellen in de database. Omdat er geen tabellen in een database zijn wanneer deze initieel wordt gemaakt, creëert het CREATE DATABASE
statement alleen een directory onder de MySQL data directory en het db.opt
bestand. 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”.
Als u handmatig een directory aanmaakt onder de data directory (bijvoorbeeld met mkdir), beschouwt de server dit als een database directory en verschijnt het in de uitvoer van SHOW DATABASES
.
Wanneer u een database aanmaakt, laat de server dan de directory en de bestanden daarin 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 Administratie Programma”.