Tout ce que vous devez savoir sur la liste des bases de données MySQL

L'une des premières choses que vous voudrez savoir lorsque vous vous connecterez à un nouveau serveur MySQL est quelles bases de données sont disponibles. Vous souhaiterez peut-être une liste de bases de données lors de l'exécution de la maintenance. Ou, vous pouvez simplement être curieux ou essayer de trouver une ancienne base de données dont vous avez oublié le nom il y a longtemps.

Une ligne de commande vide peut être intimidante. Chacun de ces cas fait appel à une commande simple, et MySQL la fournit sous la forme SHOW DATABASES . Cette commande a une utilisation très simple, mais vous la trouverez bientôt utile si vous travaillez avec MySQL.

Dans cet article, vous découvrirez tout ce que vous devez savoir sur la liste des bases de données MySQL.

Comment utiliser la commande SHOW DATABASES

Une fois connecté à votre serveur MySQL, saisissez le texte SHOW DATABASES ; sur la ligne de commande et appuyez sur Entrée sur votre clavier – vous pouvez voir un exemple ci-dessous.

MySQL renvoie les résultats dans un tableau à une colonne : Database . Cette colonne contient le nom de chaque base de données et les classe par ordre alphabétique. La ligne récapitulative vous indique le nombre de lignes, c'est-à-dire de bases de données.

Vous devriez toujours voir au moins quatre bases de données de listes MySQL par défaut. Ce sont des bases de données système spéciales que MySQL installe lui-même :

  • mysql.
  • information_schema.
  • performance_schema.
  • sys.

Vous verrez à quoi l'un d'entre eux, information_schema, est utilisé plus tard.

Filtrage des résultats de SHOW DATABASES

Vous pouvez utiliser la même condition LIKE que vous utilisez dans une clause WHERE d'une instruction SELECT . LIKE prend un seul argument, un modèle sur lequel faire correspondre. Le modèle peut inclure deux caractères spéciaux : % (pourcentage) et _ (trait de soulignement). Ceux-ci correspondent respectivement à n'importe quelle chaîne et à n'importe quel caractère.

Par exemple, pour lister toutes les bases de données avec la lettre a dans leur nom :

 SHOW DATABASES LIKE '%a%';

Comment utiliser des conditions plus compliquées

Si vous devez utiliser une condition plus compliquée que la correspondance de modèle de base de LIKE, vous pouvez toujours utiliser la clause WHERE familière. L'astuce que vous devrez appliquer est de vous référer à la colonne représentant les noms de base de données. Comme vous pouvez le voir sur la sortie ci-dessus, il s'agit simplement de Database . Maintenant, parce que MySQL considère qu'il s'agit d'un mot-clé réservé, vous devrez l'échapper avec des backticks.

 SHOW DATABASES WHERE LENGTH(`Database`) > 6;

Les résultats ne contiennent désormais que des tableaux avec des noms de plus de six caractères :

Connexe: Guide du débutant pour écrire des schémas de base de données MySQL

Filtrage des bases de données par d'autres métadonnées

MySQL prend en charge quelques autres champs liés à la base de données, mais ils ne sont pas disponibles via SHOW_DATABASES . Pour ceux-ci, vous devrez utiliser la table schemata de la base de données information_schema . Voici à quoi ressemble la structure de cette table système spéciale :

Mis à part SCHEMA_NAME , qui est exactement la même que la colonne Database de SHOW DATABASES, il n'y a que deux champs utiles : DEFAULT_CHARACTER_SET_NAME et DEFAULT_COLLATION_NAME . Les autres champs ont toujours la même valeur, ils sont donc inutiles pour le filtrage.

Les champs DEFAULT_CHARACTER_SET_NAME et DEFAULT_COLLATION_NAME définissent les caractères pris en charge par la base de données et comment les ordonner. Vous n'y avez peut-être pas pensé auparavant, mais ils sont importants si vous traitez du texte non ASCII.

Connaître la différence entre ASCII et Unicode est important ! Si vous avez plusieurs bases de données installées à partir de différentes sources, vous êtes plus susceptible d'avoir une plage de valeurs.

En réutilisant l'exemple précédent, vous pouvez filtrer sur les colonnes de cette table comme n'importe quelle autre :

 SELECT schema_name FROM information_schema.schemata WHERE DEFAULT_CHARACTER_SET_NAME='utf8';

Vous pouvez effectuer toute autre opération de table sur la table des schémas, telle que le regroupement :

 SELECT DEFAULT_CHARACTER_SET_NAME, COUNT(*) FROM information_schema.schemata GROUP BY DEFAULT_CHARACTER_SET_NAME;

Connexe : Tout ce que vous devez savoir sur l'instruction SQL GROUP BY

Utilisation d'une commande simple dans MySQL pour répertorier les bases de données

Cette commande est probablement la plus simple que MySQL puisse offrir. Mais cela ne l'empêche pas d'être très utile. Si jamais vous vous retrouvez à regarder une ligne de commande MySQL, pensez à faire un blanc, SHOW DATABASES est un bon moyen de repartir de zéro.

Une fois que vous avez une base de données en place et que vous savez avec laquelle vous travaillez, il est temps d'en savoir plus sur les schémas et la meilleure façon d'organiser vos données.