13.1.12 CREATE DATABASE utasítás
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}
CREATE DATABASE
létrehoz egy adatbázist a megadott névvel. Az utasítás használatához az adatbázis CREATE
jogosultsága szükséges. Az CREATE SCHEMA
a CREATE DATABASE
szinonimája.
Hiba lép fel, ha az adatbázis létezik, és nem adta meg az IF NOT EXISTS
értéket.
CREATE DATABASE
nem engedélyezett olyan munkamenetben, amely aktív LOCK TABLES
utasítással rendelkezik.
Minden create_option
egy adatbázisjellemzőt ad meg. Az adatbázisjellemzők az adatszótárban tárolódnak.
-
A
CHARACTER SET
opció az adatbázis alapértelmezett karakterkészletét adja meg. ACOLLATE
opció az alapértelmezett adatbázis-összeollózást adja meg. A karakterkészletekkel és a kollációnevekkel kapcsolatos információkat lásd a 10. fejezet, Karakterkészletek, kollációk, Unicode című fejezetben.Az elérhető karakterkészletek és kollációk megtekintéséhez használja a
SHOW CHARACTER SET
, illetve aSHOW COLLATION
utasításokat. Lásd a 13.7.7.3. szakasz “SHOW CHARACTER SET utasítás” és a 13.7.7.4. szakasz “SHOW COLLATION utasítás” című fejezetét. -
A MySQL 8.0.16-ban bevezetett
ENCRYPTION
opció meghatározza az adatbázis alapértelmezett titkosítását, amelyet az adatbázisban létrehozott táblák örökölnek. A megengedett értékek a'Y'
(titkosítás engedélyezve) és a'N'
(titkosítás letiltva). Ha aENCRYPTION
opció nincs megadva, akkor adefault_table_encryption
rendszerváltozó értéke határozza meg az alapértelmezett adatbázis-titkosítást. Ha atable_encryption_privilege_check
rendszerváltozó engedélyezve van, aTABLE_ENCRYPTION_ADMIN
jogosultság szükséges adefault_table_encryption
beállítástól eltérő alapértelmezett titkosítási beállítás megadásához. További információért lásd a Sémák és általános táblaterek titkosítási alapértelmezésének meghatározása című részt.
Az adatbázis a MySQL-ben egy olyan könyvtárként van megvalósítva, amely az adatbázis tábláinak megfelelő fájlokat tartalmazza. Mivel az adatbázis kezdeti létrehozásakor nincsenek táblák az adatbázisban, a CREATE DATABASE
utasítás csak egy könyvtárat hoz létre a MySQL adatkönyvtár alatt. A megengedett adatbázisnevekre vonatkozó szabályokat a 9.2. szakasz, “Sémaobjektumok nevei” című fejezet tartalmazza. Ha egy adatbázis neve speciális karaktereket tartalmaz, az adatbázis könyvtárának neve tartalmazza e karakterek kódolt változatait a 9.2.4. szakasz “Azonosítók leképezése fájlnevekre” című fejezetében leírtak szerint.
A MySQL 8.0 nem támogatja az adatbázis könyvtár létrehozását az adatkönyvtár alatti könyvtár kézi létrehozásával (például mkdir segítségével).
Adatbázis létrehozásakor hagyja, hogy a kiszolgáló kezelje a könyvtárat és a benne lévő fájlokat. Az adatbázis könyvtárak és fájlok közvetlen manipulálása következetlenségeket és váratlan eredményeket okozhat.
A MySQL nem korlátozza az adatbázisok számát. A mögöttes fájlrendszer korlátozhatja a könyvtárak számát.
Adatbázisok létrehozásához a mysqladmin programot is használhatja. Lásd a 4.5.2. “mysqladmin – A MySQL szerver adminisztrációs program” című szakaszt.