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

4 façons de lister toutes les vues dans MySQL

Vous trouverez ci-dessous quatre façons de répertorier les vues dans une base de données MySQL à 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 MySQL 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_en_musique | Type_table |+-----------------+------------+| valbumsartistes | VOIR || valbumsgenres | VOIR || vallalbums | VOIR || vallartistes | VOIR || vallgenres | AFFICHER |+-----------------+------------+

Omettre le WHERE clause renvoie tous les types :

SHOW FULL TABLES; 

Résultat :

+-----------------+------------+| Tables_en_musique | Type_table |+-----------------+------------+| Albums | TABLE DE BASE || Artistes | TABLE DE BASE || Genres | TABLE DE BASE || valbumsartistes | VOIR || valbumsgenres | VOIR || vallalbums | VOIR || vallartistes | VOIR || vallgenres | AFFICHER |+-----------------+------------+

Le SHOW TABLE STATUS Commande

Dans MySQL, 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 :

+----------------+--------+---------+---------- --+------+----------------+-------------+--------- --------+--------------+-----------+---------------------- --+---------------------+---------------------+--- ---------+--------------------+----------+-------- --------+---------+| Nom | Moteur | Version | format_ligne | Lignes | Avg_row_length | Data_length | Max_data_length | Index_longueur | Data_free | Incrément_auto | Créer_heure | Heure_mise_à_jour | Check_time | Collationnement | Somme de contrôle | Créer_options | Commentaire |+----------------+--------+---------+----------- -+------+----------------+------------+---------- -------+----------------------+-----------+--------------- -+---------------------+---------------------+---- --------+--------------------+----------+--------- -------+---------+| Albums | InnoDB | 10 | Dynamique | 20 | 819 | 16384 | 0 | 32768 | 0 | 21 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NUL | utf8mb4_0900_ai_ci | NUL | | || Artistes | InnoDB | 10 | Dynamique | 16 | 1024 | 16384 | 0 | 0 | 0 | 17 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NUL | utf8mb4_0900_ai_ci | NUL | | || Genres | InnoDB | 10 | Dynamique | 8 | 2048 | 16384 | 0 | 0 | 0 | 9 | 2021-11-13 12:56:02 | 2021-11-13 12:56:13 | NUL | utf8mb4_0900_ai_ci | NUL | | || valbumsartistes | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | 2021-11-15 06:02:24 | NUL | NUL | NUL | NUL | NUL | VOIR || valbumsgenres | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | 2021-11-15 06:09:47 | NUL | NUL | NUL | NUL | NUL | VOIR || vallalbums | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | 2021-11-15 06:12:51 | NUL | NUL | NUL | NUL | NUL | VOIR || vallartistes | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | 2021-11-15 06:13:02 | NUL | NUL | NUL | NUL | NUL | VOIR || vallgenres | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | NUL | 2021-11-15 06:12:36 | NUL | NUL | NUL | NUL | NUL | AFFICHER |+----------------+--------+---------+----------- -+------+----------------+------------+---------- -------+----------------------+-----------+--------------- -+---------------------+---------------------+---- --------+--------------------+----------+--------- -------+---------+

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

Le 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 'music' AND TABLE_TYPE LIKE 'VIEW'; 

Résultat :

+-------------+-----------+------------+| TABLE_SCHEMA | TABLE_NAME | TYPE_TABLE |+--------------+-----------+------------+| Musique | valbumsartistes | VOIR || Musique | valbumsgenres | VOIR || Musique | vallgenres | VOIR || Musique | vallalbums | VOIR || Musique | vallartistes | AFFICHER |+----------------------+-----------+------------+ 

Dans ce cas, j'ai renvoyé toutes les vues de la base de données appelée music . 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 mysqlshow Client

Une autre façon de le faire est avec le mysqlshow utilitaire.

Pour utiliser cette option, ouvrez une invite de ligne de commande/fenêtre de terminal et exécutez ce qui suit :

mysqlshow --user root --password music; 

Assurez-vous de remplacer music avec la base de données qui vous intéresse, et root avec l'utilisateur concerné. Le --password bit entraîne que l'utilisateur est invité à entrer le mot de passe.

Résultat :

Entrez le mot de passe :Base de données :musique+----------------+| Tableaux |+----------------+| Albums || Artistes || Genres || valbumsartistes || valbumsgenres || albums de vallée || vallartistes || vallgenres |+----------------+

Le mysqlshow le client renvoie des vues et des tables.

La sortie affiche uniquement les noms des bases de données, tables ou colonnes pour lesquelles l'utilisateur dispose 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.