13.1.12 CREATE DATABASE Instrucțiunea
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}
CREATE DATABASE
creează o bază de date cu numele dat. Pentru a utiliza această instrucțiune, aveți nevoie de privilegiul CREATE
pentru baza de date. CREATE SCHEMA
este un sinonim pentru CREATE DATABASE
.
Se produce o eroare dacă baza de date există și nu ați specificat IF NOT EXISTS
.
CREATE DATABASE
nu este permis în cadrul unei sesiuni care are o instrucțiune LOCK TABLES
activă.
Fiecare create_option
specifică o caracteristică a bazei de date. Caracteristicile bazei de date sunt stocate în dicționarul de date.
-
Opțiunea
CHARACTER SET
specifică setul de caractere implicit al bazei de date. OpțiuneaCOLLATE
specifică colarea implicită a bazei de date. Pentru informații despre denumirile seturilor de caractere și ale colajului, consultați Capitolul 10, Seturi de caractere, colaje, Unicode.Pentru a vedea seturile de caractere și colajele disponibile, utilizați instrucțiunile
SHOW CHARACTER SET
și, respectiv,SHOW COLLATION
. Consultați secțiunea 13.7.7.3, „Instrucțiunea SHOW CHARACTER SET” și secțiunea 13.7.7.4, „Instrucțiunea SHOW COLLATION”. -
Opțiunea
ENCRYPTION
, introdusă în MySQL 8.0.16, definește criptarea implicită a bazei de date, care este moștenită de tabelele create în baza de date. Valorile permise sunt'Y'
(criptare activată) și'N'
(criptare dezactivată). În cazul în care opțiuneaENCRYPTION
nu este specificată, valoarea variabilei de sistemdefault_table_encryption
definește criptarea implicită a bazei de date. Dacă variabila de sistemtable_encryption_privilege_check
este activată, este necesar privilegiulTABLE_ENCRYPTION_ADMIN
pentru a specifica o setare de criptare implicită care diferă de setareadefault_table_encryption
. Pentru mai multe informații, consultați Definirea unei valori implicite de criptare pentru schemele și spațiile tabelare generale.
O bază de date în MySQL este implementată ca un director care conține fișiere care corespund tabelelor din baza de date. Deoarece nu există tabele într-o bază de date atunci când aceasta este creată inițial, instrucțiunea CREATE DATABASE
creează doar un director sub directorul de date MySQL. Regulile pentru numele de baze de date admisibile sunt prezentate în secțiunea 9.2, „Nume de obiecte de schemă”. În cazul în care un nume de bază de date conține caractere speciale, numele pentru directorul bazei de date conține versiuni codificate ale acestor caractere, așa cum este descris în secțiunea 9.2.4, „Maparea identificatorilor cu numele fișierelor”.
Crearea unui director de baze de date prin crearea manuală a unui director sub directorul de date (de exemplu, cu mkdir) nu este suportată în MySQL 8.0.
Când creați o bază de date, lăsați serverul să gestioneze directorul și fișierele din acesta. Manipularea directă a directoarelor și fișierelor bazei de date poate cauza inconsecvențe și rezultate neașteptate.
MySQL nu are o limită a numărului de baze de date. Sistemul de fișiere subiacente poate avea o limită a numărului de directoare.
Puteți utiliza, de asemenea, programul mysqladmin pentru a crea baze de date. Consultați secțiunea 4.5.2, „mysqladmin – Un program de administrare a serverului MySQL”.
.