sql >> Base de Datos >  >> RDS >> MariaDB

4 formas de enumerar todas las tablas en una base de datos MariaDB

A continuación se muestran cuatro formas de enumerar las tablas en una base de datos MariaDB mediante SQL o la línea de comandos.

El SHOW TABLES Comando

El SHOW TABLES El comando enumera los elementos que no son TEMPORARY tablas, secuencias y vistas en una base de datos determinada:

SHOW TABLES;

Resultado:

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

Eso enumeró todas las tablas en la base de datos actual, que se llama pethouse .

También podemos usar el FULL modificador para devolver una segunda columna que muestra el tipo:

SHOW FULL TABLES;

Resultado:

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

Podemos ver que la mayoría de las "tablas" en esta base de datos son, de hecho, vistas.

Si solo queremos que se devuelvan las tablas base, podemos usar un WHERE cláusula:

SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';

Resultado:

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

SHOW TABLES también acepta un LIKE cláusula que se puede usar para limitar los resultados a solo aquellas tablas que coincidan con un patrón dado:

SHOW TABLES
LIKE 'pet%';

Resultado:

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

El SHOW TABLE STATUS Comando

El SHOW TABLE STATUS El comando es similar a SHOW TABLES pero proporciona información más extensa sobre cada uno (no TEMPORARY ) mesa.

También acepta un WHERE y LIKE cláusula, como SHOW TABLES .

Ejemplo:

SHOW TABLE STATUS
LIKE 'pet%';

Resultado:

+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
| 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         |
+----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+

El information_schema.TABLES Mesa

También podemos consultar el information_schema.TABLES tabla:

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

Resultado:

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

Consultando esto sin filtrar los resultados por TABLE_SCHEMA devuelve tablas de todas las bases de datos. Del mismo modo, consultarlo sin filtrar por TABLE_TYPE devuelve todos los tipos de tablas.

El mariadb-show Cliente

Otra forma de hacerlo es con mariadb-show utilidad.

Para usar esta opción, abra una línea de comando/ventana de terminal y ejecute lo siguiente (reemplazando pethouse con la base de datos que le interesa):

mariadb-show pethouse;

Resultado:

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

Esto devuelve vistas y tablas.

La salida muestra solo los nombres de esas bases de datos, tablas o columnas para las que tiene algunos privilegios.

Si no se proporciona ninguna base de datos, se muestran todas las bases de datos coincidentes. Si no se proporciona ninguna tabla, se muestran todas las tablas coincidentes en la base de datos. Si no se proporciona ninguna columna, se muestran todas las columnas y tipos de columnas coincidentes en la tabla.

El cliente también se puede ejecutar como mysqlshow :

mysqlshow pethouse;

Esta utilidad acepta bastantes opciones, como --user (para que pueda pasar el nombre de usuario), --password (para que pueda pasar la contraseña), etc.

Consulte la documentación de MariaDB para obtener una lista completa de opciones.