13.1.11 CREATE DATABASE Statement
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name}
CREATE DATABASE
skapar en databas med det angivna namnet. För att använda det här påståendet behöver du privilegiet CREATE
för databasen. CREATE SCHEMA
är en synonym till CREATE DATABASE
.
Ett fel uppstår om databasen finns och du inte har angett IF NOT EXISTS
.
CREATE DATABASE
är inte tillåtet i en session som har ett aktivt LOCK TABLES
-meddelande.
Varje create_option
anger en databasegenskap. Databasegenskaper lagras i filen db.opt
i databaskatalogen. Alternativet CHARACTER SET
anger standardteckensättningen för databasen. Alternativet COLLATE
anger standarddatabasens kollationering. Information om namn på teckenuppsättningar och kollationeringar finns i kapitel 10, Teckenuppsättningar, kollationeringar, Unicode.
Om du vill se de tillgängliga teckenuppsättningarna och kollationerna använder du SHOW CHARACTER SET
respektive SHOW COLLATION
. Se avsnitt 13.7.5.3, “SHOW CHARACTER SET Statement”, och avsnitt 13.7.5.4, “SHOW COLLATION Statement”.
En databas i MySQL implementeras som en katalog som innehåller filer som motsvarar tabeller i databasen. Eftersom det inte finns några tabeller i en databas när den skapas initialt, skapar CREATE DATABASE
-anvisningen endast en katalog under MySQL-datakatalogen och filen db.opt
. Regler för tillåtna databasnamn ges i avsnitt 9.2, “Schema Object Names”. Om ett databasnamn innehåller specialtecken, innehåller namnet för databaskatalogen kodade versioner av dessa tecken enligt beskrivningen i avsnitt 9.2.4, “Mapping of Identifiers to File Names” (Mappning av identifierare till filnamn).
Om du manuellt skapar en katalog under datakatalogen (t.ex. med mkdir) anser servern att det är en databaskatalog och den visas i resultatet av SHOW DATABASES
.
När du skapar en databas låter du servern hantera katalogen och filerna i den. Om du hanterar databaskataloger och filer direkt kan det leda till inkonsekvenser och oväntade resultat.
MySQL har ingen gräns för antalet databaser. Det underliggande filsystemet kan ha en gräns för antalet kataloger.
Du kan också använda programmet mysqladmin för att skapa databaser. Se avsnitt 4.5.2, “mysqladmin – ett administrationsprogram för MySQL-servern”.