Come creare un database in SQL
- È molto necessario creare un database per archiviare i dati nel database.
- Il nome del database deve essere sempre univoco.
- SQL non permette di creare un database con lo stesso nome che esiste già nel server.
- Per garantire l'unicità durante la creazione di un nuovo database, l'amministratore del database deve essere a conoscenza dei database già esistenti nel server.
- Le BANCHE DATI MOSTRA Il comando viene utilizzato in SQL per elencare tutti i database presenti nel server.
Esempio:
Verificheremo tutti i database disponibili.
mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | demo | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.05 sec)
Nell'esempio sopra, vengono visualizzati tutti i database presenti nel server inclusi i database di sistema (schema_informativo, schema_performativo, mysql) e i database creati dall'utente (demo, test).
- Una volta che l'amministratore del database ha acquisito familiarità con i nomi dei database già esistenti che sono presenti nel server SQL, ora l'amministratore del database può creare un database con qualsiasi nome considerando l'output del comando SHOW DATABASES.
Sintassi per la creazione di un database in SQL:
CREATE DATABASE DATABASENAME;
Esempio: Creeremo un nuovo database con il nome “Exampledb”.
mysql> CREATE DATABASE Exampledb;
Un nuovo database con il nome "exampledb" è stato creato correttamente nel server.
- Per garantire che il database sia stato creato correttamente, utilizzeremo nuovamente il comando SHOW DATABASES.
Esempio:
Visualizzeremo tutti i database disponibili per verificare se "exampledb" è stato creato o meno.
mysql> SHOW DATABASES;
Risultato:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | +--------------------+
Ora possiamo vedere che è elencato anche il database appena creato con il nome "exampledb".
- Il comando alternativo al CREATE DATABASE è CREA COMANDO SCHEMA . Entrambe le query eseguono la stessa attività di creazione del database.
Sintassi:
CREATE SCHEMA DATABASENAME;
Esempio: Useremo una query alternativa per creare un database con il nome "testDB".
mysql> CREATE SCHEMA testDB;
Esempio: Mostreremo tutti i database disponibili per verificare se il “testdb” è stato creato o meno.
mysql> SHOW DATABASES;
Risultato
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 7 rows in set (0.05 sec)
- Si può anche rivedere il database già creato usando il comando seguente:
SHOW CREATE DATABASE DATABASE_NAME;
Esempio:
We will review the already created database named as “exampledb”. mysql> SHOW CREATE DATABASE exampledb;
Risultato:
+------------+-----------------------------------------------------------------------+ | Database | Create Database | +------------+-----------------------------------------------------------------------+ | exampledb | CREATE DATABASE ` exampledb ` /*!40100 DEFAULT CHARACTER SET latin1 */ | +------------+-----------------------------------------------------------------------+ 1 row in set (0.00 sec)
Qui viene visualizzato il comando che è stato utilizzato per creare il database denominato "exampledb" insieme al set di caratteri. Poiché il set di caratteri non è stato specificato durante la creazione del database, il database viene creato con il set di caratteri predefinito, ovvero latin1 .
- Per archiviare i dati in un database particolare, è necessario comunicare al server quale database specifico l'amministratore desidera utilizzare.
Sintassi:
USE DATABASE_NAME;
Esempio:
Per operare su un database specifico, l'utente deve comunicare al server che desidera eseguire ulteriori query su "exampledb".
mysql> USE exampledb;
Risultato:
Database changed
Poiché abbiamo utilizzato il database denominato "exampledb", tutte le ulteriori query verranno ora eseguite su questo particolare database.
Parametri dell'istruzione CREATE
Si può anche improvvisare la query CREATE DATABASE aggiungendo parametri e specifiche ad essa.
- SE NON ESISTE
Possono esserci più database in un singolo server MySQL. Si può provare a creare un database che è già presente all'interno del server MySQL. Quindi, in tal caso, l'utilizzo del parametro "IF NOT EXISTS" con la query CREATE DATABASE serve allo scopo. Prima della creazione di un nuovo database, indica al server di verificare se il database esiste già con il nome specificato.
Sintassi:
CREATE DATABASE IF NOT EXISTS DATABASENAME;
Esempio:
Per creare un nuovo database “demodb”, visualizzeremo prima tutti i database disponibili e poi creeremo “demodb” se non esiste già un database con quel nome.
mysql> SHOW DATABASES;
Risultato:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 7 rows in set (0.05 sec)
mysql> CREATE DATABASE IF NOT EXISTS demodb; Query OK, 1 row affected (0.00 sec)
In precedenza non esisteva un database con il nome "demodb". Quindi, ora verrà creato il database con il nome "demodb". Se proviamo a creare un database con il nome esistente senza l'uso di IF NOT EXISTS, in tal caso SQL genererà un errore.
Esempio:
Ora visualizzeremo tutti i database disponibili per garantire la creazione del database "demodb".
mysql> SHOW DATABASES;
Risultato:
+--------------------+ | Database | +--------------------+ | information_schema | | demo | | demodb | | exampledb | | mysql | | performance_schema | | test | | testdb | +--------------------+ 8 rows in set (0.00 sec)
Qui viene creato un database con il nome “demodb”.
- Fascicolazione e set di caratteri
Le regole di confronto sono un insieme di regole utili per il confronto. È possibile memorizzare i dati SQL in una lingua diversa dall'inglese. Per memorizzare i dati in un'altra lingua, è necessario selezionare il set di caratteri per quella lingua particolare. Diversi livelli di set di caratteri includono server, database, tabella e colonna. Una volta scelto il set di caratteri, è possibile selezionare solo le regole di confronto.
Esempio:
Creeremo un nuovo database con il nome "campione" il cui set di caratteri è "latin1" e la regola di confronto è "latin1_swedish_ci".
mysql> CREATE DATABASE IF NOT EXISTS sample CHARACTER SET latin1 COLLATE latin1_swedish_ci;
Qui, il database "campione" viene creato con latin1 come set di caratteri e latin1_swedish_ci come regola di confronto.