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 SETspecifică setul de caractere implicit al bazei de date. OpțiuneaCOLLATEspecifică 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țiuneaENCRYPTIONnu este specificată, valoarea variabilei de sistemdefault_table_encryptiondefinește criptarea implicită a bazei de date. Dacă variabila de sistemtable_encryption_privilege_checkeste activată, este necesar privilegiulTABLE_ENCRYPTION_ADMINpentru 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”.
.