13.1.11 Dichiarazione CREATE DATABASE
CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name}
CREATE DATABASE
crea un database con il nome dato. Per usare questa istruzione, avete bisogno del privilegio CREATE
per il database. CREATE SCHEMA
è un sinonimo di CREATE DATABASE
.
Si verifica un errore se il database esiste e non avete specificato IF NOT EXISTS
.
CREATE DATABASE
non è permesso all’interno di una sessione che ha una dichiarazione LOCK TABLES
attiva.
Ogni create_option
specifica una caratteristica del database. Le caratteristiche del database sono memorizzate nel file db.opt
nella directory del database. L’opzione CHARACTER SET
specifica il set di caratteri predefinito del database. L’opzione COLLATE
specifica l’ordinamento predefinito del database. Per informazioni sui nomi di set di caratteri e ordinamento, vedi Capitolo 10, Set di caratteri, ordinamenti, Unicode.
Per vedere gli insiemi di caratteri e ordinamenti disponibili, usate le dichiarazioni SHOW CHARACTER SET
e SHOW COLLATION
, rispettivamente. Vedi Sezione 13.7.5.3, “Dichiarazione SHOW CHARACTER SET”, e Sezione 13.7.5.4, “Dichiarazione SHOW COLLATION”.
Un database in MySQL è implementato come una directory contenente i file che corrispondono alle tabelle del database. Poiché non ci sono tabelle in un database quando viene creato inizialmente, l’istruzione CREATE DATABASE
crea solo una directory sotto la directory dei dati MySQL e il file db.opt
. Le regole per i nomi di database ammissibili sono date nella Sezione 9.2, “Nomi degli oggetti dello schema”. Se il nome di un database contiene caratteri speciali, il nome della directory del database contiene versioni codificate di quei caratteri come descritto in Sezione 9.2.4, “Mappatura degli identificatori nei nomi dei file”.
Se si crea manualmente una directory sotto la directory dei dati (per esempio, con mkdir), il server la considera una directory di database e compare nell’output di SHOW DATABASES
.
Quando create un database, lasciate che sia il server a gestire la directory e i file in essa contenuti. Manipolare direttamente le directory e i file del database può causare incoerenze e risultati inaspettati.
MySQL non ha limiti sul numero di database. Il file system sottostante può avere un limite sul numero di directory.
Puoi anche usare il programma mysqladmin per creare database. Vedi Sezione 4.5.2, “mysqladmin – Un programma di amministrazione del server MySQL”.
.