Come elencare i database MySQL (esercitazione sul codice passo-passo)
Pubblicato: 2022-10-22MySQL è uno dei sistemi di gestione di database relazionali (RDBMS) più utilizzati oggi. È una solida piattaforma di database che consente di creare e gestire database scalabili, utilizzando principalmente un linguaggio di query strutturato (SQL).
Il server MySQL è l'ambiente in cui risiedono i database e dove si accede. In qualità di amministratore del server, dovrai spesso recuperare i dettagli su questo ambiente: elencare i database che risiedono sul server, visualizzare tabelle da un database particolare, visualizzare ruoli e privilegi utente, accedere ai vincoli e così via.
Questo articolo spiegherà i dettagli su come elencare i database MySQL tramite il prompt dei comandi.
Prerequisiti per elencare i database MySQL
Devi avere il server MySQL in esecuzione sul tuo computer locale per iniziare. Se non hai MySQL, ci sono alcuni modi per installarlo:
- Installa WAMPServer, XAMPP, MAMP o qualsiasi altro stack di distribuzione software che includa MySQL.
- Scarica ed esegui il programma di installazione di MySQL direttamente dal loro sito Web ufficiale, eseguendo il processo di installazione per configurare e installare il server MySQL e altri strumenti.
Per eseguire comodamente i comandi MySQL utilizzando la riga di comando, dovrai aggiungere il percorso dell'eseguibile MySQL all'ambiente del tuo sistema. Se hai installato MySQL utilizzando l'opzione due, questo passaggio non è necessario, quindi sentiti libero di saltare la sezione successiva.
Aggiungi il percorso MySQL all'ambiente delle variabili del tuo sistema
Questa sezione ti guida nell'aggiunta del percorso eseguibile MySQL all'ambiente variabile del tuo sistema se stai eseguendo XAMPP o WAMP su un computer Windows.
Innanzitutto, avvia Esplora file di Windows e vai a Questo PC . Fai clic sull'unità in cui hai installato il pacchetto WAMP o XAMPP ( C: ).
Se stai eseguendo XAMPP, vai su xampp > mysql > bin e copia il percorso completo nella cartella bin . Per WAMP, naviga attraverso {your-wamp-version} > bin > mysql > {your-mysql-version} > bin fino al suo percorso completo.
Fai clic sul menu Start e cerca "percorso". Fare clic su Modifica la variabile di ambiente di sistema .
Quindi, fai clic su Variabili d'ambiente in Avvio e ripristino , seleziona la variabile PATH e fai clic su Modifica .
Quindi, fai clic su Nuovo e incolla il percorso completo del tuo eseguibile MySQL (che hai copiato in precedenza).
Quindi, salva le modifiche facendo clic su OK .
Ora che il percorso è stato aggiunto, puoi eseguire i comandi MySQL nel terminale.
Accedi a MySQL
Per elencare i database MySQL, l'utente deve essere autorizzato ad accedere a tutti i database, oppure è necessario impostare un privilegio globale SHOW DATABASES
che conceda l'accesso a tutti gli utenti.
Assicurati che il tuo server MySQL sia in esecuzione prima di accedere tramite il prompt dei comandi:
mysql -u -p
NOTA: sostituire con il tuo nome utente. Il nome utente predefinito per MySQL è
root
e la password è vuota (non esiste una password per impostazione predefinita).
Mostra i database all'interno del server MySQL
Ora che hai effettuato l'accesso, puoi elencare i database MySQL presenti nel server eseguendo il comando SHOW DATABASES
:
SHOW DATABASES;
In cambio si ottengono tutti i database presenti nella memoria:
Dei sei database restituiti, information_schema
e performance_schema
sono i database predefiniti che vengono generati automaticamente durante l'installazione di MySQL.
Il database information_schema
è un database non modificabile che memorizza tutte le informazioni relative ai database e altri oggetti (viste, privilegi utente, tabelle, vincoli, ecc.) archiviati nel server MySQL.
Filtraggio dei risultati dell'output del database
In precedenza, hai restituito tutti i database sul server MySQL con SHOW DATABASES
, ma spesso devi filtrare l'output del database, principalmente quando ci sono molti database sul server.
La clausola LIKE
filtra il risultato di SHOW DATABASE
in base a un modello specificato. Ecco la sintassi generale:
SHOW DATABASES LIKE '';
Deve essere una stringa che rappresenta il modello che vuoi abbinare. La stringa deve terminare con il simbolo di percentuale, %
, che denota uno o più caratteri.
Ad esempio, se vuoi visualizzare solo i database i cui nomi iniziano con la lettera w
, puoi farlo eseguendo quanto segue:
SHOW DATABASES LIKE 'w%';
Ecco il risultato filtrato:
Utilizzo dello schema delle informazioni per eseguire query sui metadati della tabella
In precedenza, hai visto come il database information_schema
memorizza tutte le informazioni relative a database, tabelle e altri oggetti nell'ambiente del server MySQL.
Il database information_schema
utilizza la tabella degli schemi per memorizzare le informazioni su tutti i database. Per il filtraggio del database, è possibile eseguire una ricerca complessa per interrogare la tabella dello schema per database specifici.
Ad esempio, se desideri database i cui nomi iniziano con "samp" o "word", puoi combinare diverse altre clausole per creare una query complessa:
SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';
Ecco il risultato:
Inoltre, hai la tabella delle tables
dal database information_schema
, che contiene informazioni su tutte le tabelle. Allo stesso modo, puoi eseguire una query per recuperare solo le tabelle che corrispondono a un modello specificato.
Ad esempio, la query seguente restituisce le informazioni sullo schema solo delle tabelle di WordPress, solo le tabelle i cui nomi iniziano con "wp_":
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
Ecco il risultato:
Altre tabelle trovate in information_schema
includono columns
, constraints
, table_constraints
, check_constraints
e referential_constraints
.
Problemi comuni e buone pratiche
Una delle cause più comuni di errore durante l'esecuzione di SQL è il mancato utilizzo del punto e virgola alla fine delle istruzioni.
Un altro sta usando una sintassi SQL non valida o un nome di tabella/colonna digitato in modo errato. Per evitare ciò, controlla il nome della tabella o della colonna per assicurarti che sia scritto correttamente. Assicurati di controllare anche la tua sintassi.
Ecco alcune altre best practice da tenere a mente.
Usa maiuscolo per le parole chiave SQL
Quando si scrive codice SQL, utilizzare sempre lettere maiuscole per le parole chiave SQL e minuscole per nomi di tabelle e nomi di colonne. Ciò rende il codice più leggibile e meno soggetto a errori.
Quindi, invece di questo:
select * from information_schema.tables where table_name like 'wp_%';
Fai questo:
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
Evita di usare SELECT *
Evita di usare SELECT *
nelle tue query SQL. La tua richiesta non è chiara perché non puoi sempre sapere cosa restituirà. Specificare invece le colonne che si desidera selezionare dalla tabella.
Quindi invece di questo:
SELECT * EXCEPT(phone) FROM users.profile
Fai questo:
SELECT name, dob, address, country, address, FROM user.profile
Rientra il tuo codice
Infine, un altro suggerimento per semplificare la ricerca degli errori consiste nell'indentare il codice. Lo rende più leggibile!
Gestori di database
In alternativa, puoi scegliere di gestire i tuoi database senza scrivere SQL attraverso l'uso di un database manager. Ciò consente agli utenti di accedere alle funzioni di gestione del database senza dover scrivere query SQL. Questo software si connette a un server MySQL e fornisce un'interfaccia utente per esporre le funzioni del database. Una volta connesso, l'interfaccia utente mostrerà tutti i database sul server. L'aspetto grafico varia a seconda degli strumenti di gestione, ma il processo è simile.

Sono disponibili diversi strumenti tra cui scegliere, inclusi phpMyAdmin e Adminer, entrambi accessibili tramite DevKinsta. Lo strumento di gestione predefinito per DevKinsta è Adminer, poiché è leggero, facile e veloce, ma è possibile accedere facilmente a phpMyAdmin.
Riepilogo
In qualità di amministratore del server, devi essere in grado di recuperare in modo efficiente e accurato i dettagli sui database sul tuo server MySQL. Le capacità di vedere quali database si trovano sul server, visualizzare tabelle specifiche e le informazioni al loro interno e accedere alle informazioni sui ruoli e sui privilegi degli utenti sono tutte attività cruciali. Fortunatamente, l'utilizzo di SQL dalla riga di comando può rendere tutto questo un gioco da ragazzi.
Quando la gestione del tuo database deve andare oltre l'interrogazione delle tabelle, Kinsta può aiutarti. Scopri di più sulle nostre opzioni di hosting di database scalabili oggi!