Lister les tables et leur structure avec le client de ligne de commande MySQL

Le client de ligne de commande MySQL permet d’exécuter des requêtes sql depuis une interface de ligne de commande. Ce post examine comment afficher les tables d’une base de données particulière et décrire leur structure. Cet article est la suite d’une série sur le client de ligne de commande MySQL. Les billets précédents incluent Utilisation de l’outil de ligne de commande MySQL et Exécution de requêtes à partir de la ligne de commande MySQL.

Après vous être connecté au client de ligne de commande MySQL et avoir sélectionné une base de données, vous pouvez lister toutes les tables de la base de données sélectionnée avec la commande suivante :

mysql> show tables;

(mysql> est l’invite de commande, et « show tables ; » est la requête réelle dans l’exemple ci-dessus).

Dans une base de données de test que j’ai mise en place, cela renvoie ce qui suit :

+----------------+| Tables_in_test |+----------------+| something || something_else |+----------------+2 rows in set (0.00 sec)

Cela nous montre qu’il y a deux tables dans la base de données appelées « quelque chose » et « quelque chose_autre ». Nous pouvons montrer la structure de la table en utilisant la commande « desc » comme ceci pour la table « quelque chose »:

mysql> desc something;

Ma table de base de données de test renvoie un résultat comme ceci, montrant qu’il y a 4 colonnes et quels types, etc :

Enfin, vous pouvez afficher les index d’une table particulière comme ceci:

mysql> show keys from something;

Ma base de données de test a deux index (ceux-ci sont étiquetés dans la colonne « key » de la sortie « desc something » ci-dessus comme PRI et MUL). La sortie de la commande ci-dessus ressemble à ceci:

Summary

Le client de ligne de commande MySQL est utile pour exécuter des requêtes ainsi que pour afficher quelles tables sont dans une base de données MySQL, la structure de ces tables et les index de ces tables, comme couvert dans ce post.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.