MySQL :: MySQL 5.7 Reference Manual :: 13.1.11 CREATE DATABASE Statement

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”.

Lämna ett svar

Din e-postadress kommer inte publiceras.