Que faire si vous oubliez le nom d'une base de données ou d'une table, ou bien encore la structure d'une table donnée (par exemple, comment se nomment ses colonnes) ?
MySQL répond à ce problème en fournissant plusieurs commandes qui renvoient des informations à propos des tables et des bases de données les contenant.
Vous avez déjà vu SHOW DATABASES
qui liste
les bases de données gérées par le serveur. Pour trouver quelle
base de données est actuellement sélectionnée, utilisez la
fonction DATABASE()
:
mysql> SELECT DATABASE();
+------------+
| DATABASE() |
+------------+
| menagerie |
+------------+
Si vous n'avez encore sélectionné aucune base de données, le résultat est vide.
Pour trouver quelles sont les tables que la base contient (par exemple, quand vous n'êtes pas sûr du nom d'une table), utilisez cette commande :
mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| evenement |
| animal |
+---------------------+
Si vous voulez en savoir d'avantage sur la structure d'une table,
la commande DESCRIBE
est utile ; elle fournit
des informations sur chaque colonne de la table :
mysql> DESCRIBE animal;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| nom | varchar(20) | YES | | NULL | |
| maitre | varchar(20) | YES | | NULL | |
| espece | varchar(20) | YES | | NULL | |
| sexe | char(1) | YES | | NULL | |
| naissance | date | YES | | NULL | |
| mort | date | YES | | NULL | |
+-----------+-------------+------+-----+---------+-------+
Field
indique le nom de la colonne,
Type
est son type de données,
NULL
indique si la colonne peut contenir des
valeurs NULL
, Key
indique si
la colonne est indexée et Default
spécifie la
valeur par défaut de la colonne.
Si vous avez des index sur une table, SHOW INDEX FROM
nom_de_table
vous fournira des informations sur elles.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.