Introduzione

Quando gestisci i server di database MySQL, una delle attività più frequenti che eseguirai è familiarizzare con l'ambiente. Ciò include l' elenco dei database che risiedono sul server, la visualizzazione delle tabelle del database o il recupero di informazioni sugli account utente e sui loro privilegi.

Questo articolo mostra come elencare le tabelle in un database MySQL o MariaDB tramite la riga di comando.

Mostrare le tabelle MySQL

Per ottenere un elenco delle tabelle in un database MySQL, utilizzare lo strumento mysql client per connettersi al server MySQL ed eseguire il comando SHOW TABLES.

Accedi al server MySQL:

mysql -u user -p

Dall'interno della shell MySQL, passa al database usando l'istruzione USE:

USE database_name;

Eseguire il comando seguente per ottenere un elenco di tutte le tabelle e viste nel database corrente:

SHOW TABLES;

L'output sarà simile al seguente:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+
8 rows in set (0.00 sec)

Il modificatore FULL opzionale mostrerà il tipo di tabella come seconda colonna di output.

SHOW FULL TABLES;

L'output sarà simile al seguente:

+----------------------------+------------+
| Tables_in_database_name    | Table_type |
+----------------------------+------------+
| actions                    | VIEW       |
| permissions                | BASE TABLE |
| permissions_roles          | BASE TABLE |
| permissions_users          | BASE TABLE |
| roles                      | BASE TABLE |
| roles_users                | BASE TABLE |
| settings                   | BASE TABLE |
| users                      | BASE TABLE |
+----------------------------+------------+

8 rows in set (0.00 sec)

Per ottenere un elenco delle tabelle senza passare al database, utilizzare la clausola FROM o IN seguita dal nome del database:

SHOW TABLES FROM database_name;

La clausola LIKE  può essere utilizzata per filtrare l'output del comando SHOW TABLES secondo uno schema specifico.

SHOW TABLES LIKE pattern;

Ad esempio, la seguente istruzione restituirà tutti i database i cui nomi iniziano con 'permissions':

SHOW TABLES LIKE 'permissions%';
+-------------------------------------------+
| Tables_in_database_name (permissions%)    |
+-------------------------------------------+
| permissions                               |
| permissions_roles                         |
| permissions_users                         |
+-------------------------------------------+
3 rows in set (0.00 sec)

Il segno di percentuale  % indica zero, uno o più caratteri.

Mostrare le tabelle MySQL dalla riga di comando

Per ottenere informazioni sulle tabelle dalla shell di Linux, è possibile utilizzare il comando mysql -e o il comando mysqlshow che visualizza informazioni su database e tabelle.

Ciò è particolarmente utile quando si desidera lavorare con i database MySQL utilizzando script di shell.

Eseguire il comando seguente sul terminale per mostrare un elenco di tutti i database:

mysql -u user -p -e 'SHOW TABLES FROM database_name;'

L'output visualizzerà un elenco di tutte le tabelle:

+----------------------------+
| Tables_in_database_name    |
+----------------------------+
| actions                    |
| permissions                |
| permissions_roles          |
| permissions_users          |
| roles                      |
| roles_users                |
| settings                   |
| users                      |
+----------------------------+

Ecco un esempio usando il comando mysqlshow:

mysqlshow database_name

È possibile filtrare l'output con il comando grep.

Conclusione

Per ottenere informazioni sulle tabelle in un database MySQL, utilizzare il comando SHOW TABLES.