A volte potrebbe essere necessario eliminare il database in MySQL. Puoi farlo facilmente usando il comando MySQL DROP DATABASE. Ecco come eliminare il database in MySQL.
Come eliminare il database in MySQL
Ecco i passaggi per DROP DATABASE in MySQL. Useremo la query MySQL DROP DATABASE per eliminare il database.
Ecco la sintassi del comando MySQL DROP DATABASE
DROP DATABASE [IF EXISTS] database_name;
Al termine dell'esecuzione, MySQL restituirà il numero di tabelle eliminate. Nel comando precedente, sostituisci database_name con il nome del database che desideri eliminare.
Se si tenta di eliminare un database che non esiste, MySQL mostrerà un errore. Quindi è consigliabile utilizzare l'argomento opzionale SE ESISTE
In MySQL, il database è anche noto come SCHEMA. Quindi puoi anche usare DROP SCHEMA invece di DROP DATABASE.
DROP SCHEMA [IF EXISTS] database_name;
Bonus Leggi:MySQL DROP TABLE
MySQL DROP DATABASE dalla riga di comando
Ecco un esempio di come eliminare il database dalla riga di comando. Puoi usarli per eliminare il database dalla CLI di Ubuntu Linux e altri sistemi Linux.
Accedi a MySQL dalla riga di comando. Usiamo il comando SHOW DATABASES per elencare tutti i database disponibili per l'utente MySQL.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | fedingo | | mysql | | performance_schema | | sample | | test | | test1 | | test2 | | test3 | | test4 | +--------------------+ 11 rows in set (0.00 sec)
Successivamente, utilizziamo il comando MySQL DROP DATABASE per eliminare il database in MySQL
mysql> drop database test4; Query OK, 0 rows affected (0.33 sec)
L'output mostra "0 righe interessate" poiché non ci sono tabelle nel database test4.
Bonus Leggi:MySQL DROP COLUMN
Come eliminare tutti i database in MySQL
Fai attenzione prima di eliminare più database in MySQL. Non può essere annullato. Per impostazione predefinita, il comando DROP DATABASE consente di eliminare solo 1 database alla volta. Quindi, se vuoi eliminare più database in MySQL, devi eseguire un comando DROP DATABASE separato per ogni database.
Tuttavia, se hai molte tabelle di database e lo trovi noioso, ecco uno script per eliminare tutti i database.
mysql -u<user> -p<password> -e "show databases" | grep -v Database | grep -v mysql | grep -v information_schema | gawk '{print "SET FOREIGN_KEY_CHECKS = 0;drop database " $1 ";select sleep(0.1);"}' | mysql -u<user> -p<password>
Nello script sopra, sostituisci le parti in grassetto con il tuo nome utente e password mysql
Bonus Lettura:come ottenere record da oggi in MySQL
Diamo un'occhiata a cosa fa ogni riga
mysql -u<user> -p<password> -e "show databases"
accederà a MySQL e restituirà un elenco di database. Qualcosa come
Database information_schema my_db another_db api_platform mysql testdb joomla wordpress dev drupal
La prima riga Database è solo una stringa e non un nome di database. L'elenco dei nomi dei database inizia dalla riga 2. Tra questi, schema_informativo è un database di sistema e non deve essere eliminato. Quindi rimuoviamo queste 2 righe dall'output sopra
| grep -v Database | grep -v mysql | grep -v information_schema
Infine, utilizziamo gawk comando per scorrere l'elenco filtrato di nomi di database, generare ed eseguire comandi MySQL DROP DATABASE per ciascun nome di database nell'elenco.
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!