MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

4 façons de lister toutes les vues dans une base de données MariaDB

Vous trouverez ci-dessous quatre façons de répertorier les vues dans une base de données MariaDB à l'aide de SQL ou de la ligne de commande.

Le SHOW TABLES Commande

Le SHOW TABLES la commande répertorie les non-TEMPORARY tables, séquences et vues dans une base de données donnée. Nous pouvons utiliser le WHERE clause pour la restreindre aux seules vues.

Nous pouvons également utiliser le FULL modificateur pour renvoyer une deuxième colonne qui affiche le type :

SHOW FULL TABLES 
WHERE Table_Type LIKE 'VIEW';

Résultat :

+--------------------+------------+
| Tables_in_pethouse | Table_type |
+--------------------+------------+
| vownercount        | VIEW       |
| vpetcount          | VIEW       |
| vpetsowners        | VIEW       |
| vpetstypes         | VIEW       |
| vpettypecount      | VIEW       |
+--------------------+------------+

Omettre le WHERE clause renvoie tous les types :

SHOW FULL TABLES;

Résultat :

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

Le SHOW TABLE STATUS Commande

Le SHOW TABLE STATUS La commande est similaire à la commande SHOW TABLES commande mais fournit des informations plus détaillées sur chacun (non TEMPORARY ) tableau.

Exemple :

SHOW TABLE STATUS;

Résultat :

+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
| 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 |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
| Owners        | InnoDB |      10 | Dynamic    |    6 |           2730 |       16384 |               0 |            0 |         0 |           NULL | 2021-03-30 09:10:36 | NULL        | NULL       | utf8mb4_general_ci |     NULL |                |         |                0 | N         |
| 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         |
| vownercount   | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | NULL                | NULL        | NULL       | NULL               |     NULL | NULL           | VIEW    |             NULL | NULL      |
| vpetcount     | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | NULL                | NULL        | NULL       | NULL               |     NULL | NULL           | VIEW    |             NULL | NULL      |
| vpetsowners   | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | NULL                | NULL        | NULL       | NULL               |     NULL | NULL           | VIEW    |             NULL | NULL      |
| vpetstypes    | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | NULL                | NULL        | NULL       | NULL               |     NULL | NULL           | VIEW    |             NULL | NULL      |
| vpettypecount | NULL   |    NULL | NULL       | NULL |           NULL |        NULL |            NULL |         NULL |      NULL |           NULL | NULL                | NULL        | NULL       | NULL               |     NULL | NULL           | VIEW    |             NULL | NULL      |
+---------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+

Il accepte également un WHERE et LIKE clause au cas où vous voudriez affiner les résultats.

Les information_schema.TABLES Tableau

Nous pouvons également interroger le information_schema.TABLES tableau :

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

Résultat :

+--------------+---------------+------------+
| TABLE_SCHEMA | TABLE_NAME    | TABLE_TYPE |
+--------------+---------------+------------+
| PetHouse     | vpettypecount | VIEW       |
| PetHouse     | vpetstypes    | VIEW       |
| PetHouse     | vownercount   | VIEW       |
| PetHouse     | vpetcount     | VIEW       |
| PetHouse     | vpetsowners   | VIEW       |
+--------------+---------------+------------+

Interroger ceci sans filtrer les résultats par TABLE_SCHEMA renvoie les vues de toutes les bases de données. De même, l'interroger sans filtrer par TABLE_TYPE renvoie tous les types de table.

Le mariadb-show Client

Une autre façon de le faire est avec le mariadb-show utilitaire.

Pour utiliser cette option, ouvrez une invite de ligne de commande/fenêtre de terminal et exécutez ce qui suit (en remplaçant pethouse avec la base de données qui vous intéresse) :

mariadb-show pethouse;

Résultat :

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

Cela renvoie des vues et des tables.

La sortie affiche uniquement les noms des bases de données, tables ou colonnes pour lesquelles vous disposez de certains privilèges.

Si aucune base de données n'est indiquée, toutes les bases de données correspondantes sont affichées. Si aucune table n'est donnée, toutes les tables correspondantes dans la base de données sont affichées. Si aucune colonne n'est donnée, toutes les colonnes et tous les types de colonnes correspondants dans le tableau sont affichés.

Le client peut également être exécuté en tant que mysqlshow :

mysqlshow pethouse;

Cet utilitaire accepte pas mal d'options, telles que --user (pour que vous puissiez passer le nom d'utilisateur), --password (afin que vous puissiez passer le mot de passe), etc.

Consultez la documentation de MariaDB pour une liste complète des options.