MySQL :: MySQL 8.0 Reference Manual :: 13.1.12 Dichiarazione CREATE DATABASE

13.1.12 Dichiarazione CREATE DATABASE

CREATE {DATABASE | SCHEMA} db_name ...create_option: { CHARACTER SET charset_name | COLLATE collation_name | ENCRYPTION {'Y' | 'N'}}

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 dizionario dei dati.

  • 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 dei set di caratteri e di 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.7.3, “Dichiarazione SHOW CHARACTER SET”, e Sezione 13.7.7.4, “Dichiarazione SHOW COLLATION”.

  • L’opzione ENCRYPTION, introdotta in MySQL 8.0.16, definisce la codifica di default del database, che viene ereditata dalle tabelle create nel database. I valori consentiti sono 'Y' (crittografia abilitata) e 'N' (crittografia disabilitata). Se l’opzione ENCRYPTION non è specificata, il valore della variabile di sistema default_table_encryption definisce la crittografia di default del database. Se la variabile di sistema table_encryption_privilege_check è abilitata, il privilegio TABLE_ENCRYPTION_ADMIN è richiesto per specificare un’impostazione di crittografia predefinita che differisce dall’impostazione default_table_encryption. Per maggiori informazioni, vedi Definire una crittografia di default per schemi e spazi di tabelle generali.

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. 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 nella Sezione 9.2.4, “Mappatura degli identificatori ai nomi dei file”.

Creare una directory di database creando manualmente una directory sotto la directory dei dati (per esempio, con mkdir) non è supportato in MySQL 8.0.

Quando crei un database, lascia che sia il server a gestire la directory e i file al suo interno. 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. Vedere la Sezione 4.5.2, “mysqladmin – Un programma di amministrazione del server MySQL”.

Si può anche usare il programma mysqladmin per creare database.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.