Vous trouverez ci-dessous quatre façons de répertorier les tables d'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 donnée :
SHOW TABLES;
Résultat :
+--------------------+ | Tables_in_pethouse | +--------------------+ | Owners | | PetTypes | | Pets | | vownercount | | vpetcount | | vpetsowners | | vpetstypes | | vpettypecount | +--------------------+
Cela répertorie toutes les tables de la base de données actuelle, qui s'appelle pethouse
.
Nous pouvons également utiliser le FULL
modificateur pour renvoyer une deuxième colonne qui affiche le type :
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 | +--------------------+------------+
Nous pouvons voir que la plupart des "tables" de cette base de données sont en fait des vues.
Si nous voulons que seules les tables de base soient renvoyées, nous pouvons utiliser un WHERE
clause :
SHOW FULL TABLES
WHERE Table_type = 'BASE TABLE';
Résultat :
+--------------------+------------+ | Tables_in_pethouse | Table_type | +--------------------+------------+ | Owners | BASE TABLE | | PetTypes | BASE TABLE | | Pets | BASE TABLE | +--------------------+------------+
SHOW TABLES
accepte également un LIKE
clause qui peut être utilisée pour limiter les résultats aux seules tables qui correspondent à un modèle donné :
SHOW TABLES
LIKE 'pet%';
Résultat :
+---------------------------+ | Tables_in_pethouse (pet%) | +---------------------------+ | PetTypes | | Pets | +---------------------------+
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
) table.
Il accepte également un WHERE
et LIKE
clause, comme SHOW TABLES
.
Exemple :
SHOW TABLE STATUS
LIKE 'pet%';
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 | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+ | 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 | +----------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+--------------------+----------+----------------+---------+------------------+-----------+
Les information_schema.TABLES
Tableau
Nous pouvons également interroger le information_schema.TABLES
tableau :
SELECT
TABLE_NAME
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA LIKE 'pethouse' AND TABLE_TYPE LIKE 'BASE_TABLE';
Résultat :
+------------+ | TABLE_NAME | +------------+ | Pets | | Owners | | PetTypes | +------------+
Interroger ceci sans filtrer les résultats par TABLE_SCHEMA
renvoie les tables 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 indiqué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.