3.4 Obtenir des informations sur les bases de données et les tables
Que faire si vous oubliez le nom d’une base de données ou d’une table, ou la structure d’une table donnée (par exemple, le nom de ses colonnes) ? MySQL résout ce problème grâce à plusieurs instructions qui fournissent des informations sur les bases de données et les tables qu’il prend en charge.
Vous avez vu précédemment SHOW DATABASES
, qui liste les bases de données gérées par le serveur. Pour savoir 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 NULL
.
Pour savoir quelles tables la base de données par défaut contient (par exemple, lorsque vous n’êtes pas sûr du nom d’une table), utilisez cette instruction :
mysql> SHOW TABLES;+---------------------+| Tables_in_menagerie |+---------------------+| event || pet |+---------------------+
Le nom de la colonne dans la sortie produite par cette instruction est toujours Tables_in_
, où db_name
db_name
est le nom de la base de données. Consultez la section 13.7.7.39, » Déclaration SHOW TABLES « , pour plus d’informations.
Si vous voulez connaître la structure d’une table, l’instruction DESCRIBE
est utile ; elle affiche des informations sur chacune des colonnes d’une table :
mysql> DESCRIBE pet;+---------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+---------+-------------+------+-----+---------+-------+| name | varchar(20) | YES | | NULL | || owner | varchar(20) | YES | | NULL | || species | varchar(20) | YES | | NULL | || sex | char(1) | YES | | NULL | || birth | date | YES | | NULL | || death | date | YES | | NULL | |+---------+-------------+------+-----+---------+-------+
Field
indique le nom de la colonne, Type
est le type de données de la colonne, NULL
indique si la colonne peut contenir des valeurs NULL
Key
indique si la colonne est indexée, et Default
précise la valeur par défaut de la colonne. Extra
affiche des informations spéciales sur les colonnes : Si une colonne a été créée avec l’option AUTO_INCREMENT
, la valeur est auto_increment
plutôt que vide.
DESC
est une forme courte de DESCRIBE
. Consultez la section 13.8.1, » Déclaration DESCRIBE « , pour plus d’informations.
Vous pouvez obtenir l’instruction CREATE TABLE
nécessaire à la création d’une table existante en utilisant l’instruction SHOW CREATE TABLE
. Consultez la section 13.7.7.10, » Afficher l’instruction CREATE TABLE « .
Si vous avez des index sur une table, SHOW INDEX FROM
produit des informations à leur sujet. Consultez la section 13.7.7.22, « Déclaration SHOW INDEX », pour en savoir plus sur cette déclaration.tbl_name
.