MariaDB
 sql >> Database >  >> RDS >> MariaDB

4 modi per elencare tutte le tabelle in un database MariaDB

Di seguito sono riportati quattro modi per elencare le tabelle in un database MariaDB utilizzando SQL o la riga di comando.

Gli SHOW TABLES Comando

Il SHOW TABLES il comando elenca il non-TEMPORARY tabelle, sequenze e viste in un determinato database:

SHOW TABLES;

Risultato:

+--------------------+
| Tables_in_pethouse |
+--------------------+
| Owners             |
| PetTypes           |
| Pets               |
| vownercount        |
| vpetcount          |
| vpetsowners        |
| vpetstypes         |
| vpettypecount      |
+--------------------+

Ciò elencava tutte le tabelle nel database corrente, chiamato pethouse .

Possiamo anche usare il FULL modificatore per restituire una seconda colonna che mostra il tipo:

SHOW FULL TABLES;

Risultato:

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| Owners             | BASE TABLE |
| PetTypes           | BASE TABLE |
| Pets               | BASE TABLE |
| vownercount        | VIEW       |
| vpetcount          | VIEW       |
| vpetsowners        | VIEW       |
| vpetstypes         | VIEW       |
| vpettypecount      | VIEW       |
+--------------------+------------+

Possiamo vedere che la maggior parte delle "tabelle" in questo database sono in effetti viste.

Se vogliamo che vengano restituite solo le tabelle di base, possiamo usare un WHERE clausola:

SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';

Risultato:

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| Owners             | BASE TABLE |
| PetTypes           | BASE TABLE |
| Pets               | BASE TABLE |
+--------------------+------------+

SHOW TABLES accetta anche un LIKE clausola che può essere utilizzata per restringere i risultati alle sole tabelle che corrispondono a un determinato modello:

SHOW TABLES
LIKE 'pet%';

Risultato:

+---------------------------+
| Tables_in_pethouse (pet%) |
+---------------------------+
| PetTypes                  |
| Pets                      |
+---------------------------+

Lo SHOW TABLE STATUS Comando

Lo SHOW TABLE STATUS il comando è simile a SHOW TABLES comando ma fornisce informazioni più estese su ciascuno (non-TEMPORARY ) tavolo.

Accetta anche un WHERE e LIKE clausola, come SHOW TABLES .

Esempio:

SHOW TABLE STATUS
LIKE 'pet%';

Risultato:

+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
| Name     | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation          | Checksum | Create_options | Comment | Max_index_length | Temporary |
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
| PetTypes | InnoDB |      10 | Dynamic    |    4 |           4096 |       16384 |               0 |            0 |         0 |           NULL | 2021-03-30 09:10:36 | NULL        | NULL       | utf8mb4_general_ci |     NULL |                |         |                0 | N         |
| Pets     | InnoDB |      10 | Dynamic    |    8 |           2048 |       16384 |               0 |        32768 |         0 |           NULL | 2021-04-01 15:42:43 | NULL        | NULL       | utf8mb4_general_ci |     NULL |                |         |                0 | N         |
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+

Il information_schema.TABLES Tabella

Possiamo anche interrogare il information_schema.TABLES tabella:

SELECT 
    TABLE_NAME
FROM 
    information_schema.TABLES 
WHERE 
    TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE';

Risultato:

+------------+
| TABLE_NAME |
+------------+
| Pets       |
| Owners     |
| PetTypes   |
+------------+

Interrogazione senza filtrare i risultati per TABLE_SCHEMA restituisce le tabelle da tutti i database. Allo stesso modo, interrogandolo senza filtrare per TABLE_TYPE restituisce tutti i tipi di tabella.

Il mariadb-show Cliente

Un altro modo per farlo è con mariadb-show utilità.

Per utilizzare questa opzione, apri un prompt della riga di comando/una finestra del terminale ed esegui quanto segue (sostituendo pethouse con il database che ti interessa):

mariadb-show pethouse;

Risultato:

+---------------+
|    Tables     |
+---------------+
| Owners        |
| PetTypes      |
| Pets          |
| vownercount   |
| vpetcount     |
| vpetsowners   |
| vpetstypes    |
| vpettypecount |
+---------------+

Ciò restituisce viste e tabelle.

L'output mostra solo i nomi di quei database, tabelle o colonne per i quali disponi di alcuni privilegi.

Se non viene fornito alcun database, vengono visualizzati tutti i database corrispondenti. Se non viene fornita alcuna tabella, vengono visualizzate tutte le tabelle corrispondenti nel database. Se non viene fornita alcuna colonna, vengono visualizzate tutte le colonne e i tipi di colonna corrispondenti nella tabella.

Il client può anche essere eseguito come mysqlshow :

mysqlshow pethouse;

Questa utility accetta alcune opzioni, come --user (in modo da poter passare il nome utente), --password (in modo da poter passare la password), ecc.

Consulta la documentazione di MariaDB per un elenco completo delle opzioni.