Comment répertorier les bases de données MySQL (tutoriel de code étape par étape)
Publié: 2022-10-22MySQL est l'un des systèmes de gestion de bases de données relationnelles (RDBMS) les plus utilisés aujourd'hui. Il s'agit d'une plate-forme de base de données robuste qui permet de créer et de gérer des bases de données évolutives, principalement à l'aide d'un langage de requête structuré (SQL).
Le serveur MySQL est l'environnement dans lequel résident les bases de données - et où elles sont accessibles. En tant qu'administrateur de serveur, vous aurez souvent besoin de récupérer des détails sur cet environnement - répertoriant les bases de données qui résident sur le serveur, affichant les tables d'une base de données particulière, affichant les rôles et privilèges des utilisateurs, les contraintes d'accès, etc.
Cet article explique les tenants et les aboutissants de la liste des bases de données MySQL via l'invite de commande.
Prérequis pour répertorier les bases de données MySQL
Vous devez avoir le serveur MySQL en cours d'exécution sur votre machine locale pour commencer. Si vous n'avez pas MySQL, il existe plusieurs façons de l'installer :
- Installez WAMPServer, XAMPP, MAMP ou toute autre pile de distribution de logiciels incluant MySQL.
- Téléchargez et exécutez le programme d'installation de MySQL directement à partir de leur site Web officiel, en passant par le processus d'installation pour configurer et installer le serveur MySQL et d'autres outils.
Pour exécuter facilement les commandes MySQL à l'aide de la ligne de commande, vous devez ajouter le chemin de l'exécutable MySQL à l'environnement de votre système. Si vous avez installé MySQL en utilisant l'option deux, cette étape n'est pas nécessaire, alors n'hésitez pas à ignorer la section suivante.
Ajoutez le chemin MySQL à l'environnement de variables de votre système
Cette section vous explique comment ajouter le chemin de l'exécutable MySQL à l'environnement variable de votre système si vous exécutez XAMPP ou WAMP sur un ordinateur Windows.
Tout d'abord, lancez votre explorateur de fichiers Windows et accédez à Ce PC . Cliquez sur le lecteur sur lequel vous avez installé le package WAMP ou XAMPP ( C: ).
Si vous exécutez XAMPP, accédez à xampp > mysql > bin et copiez le chemin complet vers le dossier bin . Pour WAMP, naviguez dans {your-wamp-version} > bin > mysql > {your-mysql-version} > bin jusqu'à son chemin complet.
Cliquez sur le menu Démarrer et recherchez "chemin". Cliquez sur Modifier la variable d'environnement système .
Ensuite, cliquez sur Variables d'environnement sous Démarrage et récupération , sélectionnez la variable PATH et cliquez sur Modifier .
Ensuite, cliquez sur Nouveau et collez le chemin complet de votre exécutable MySQL (que vous avez copié précédemment).
Ensuite, enregistrez les modifications en cliquant sur OK .
Maintenant que le chemin a été ajouté, vous pouvez exécuter des commandes MySQL dans le terminal.
Connectez-vous à MySQL
Pour répertorier les bases de données MySQL, l'utilisateur doit être autorisé à accéder à toutes les bases de données, ou vous devez définir un privilège global SHOW DATABASES
qui accorde l'accès à tous les utilisateurs.
Assurez-vous que votre serveur MySQL est en cours d'exécution avant de vous connecter via l'invite de commande :
mysql -u -p
REMARQUE : remplacer avec votre nom d'utilisateur. Le nom d'utilisateur par défaut pour MySQL est
root
et le mot de passe est vide (il n'y a pas de mot de passe par défaut).
Afficher les bases de données à l'intérieur du serveur MySQL
Maintenant que vous êtes connecté, vous pouvez lister les bases de données MySQL présentes sur le serveur en exécutant la commande SHOW DATABASES
:
SHOW DATABASES;
En retour, vous obtenez toutes les bases de données présentes dans le stockage :
Sur les six bases de données renvoyées, information_schema
et performance_schema
sont les bases de données par défaut qui sont automatiquement générées lorsque vous installez MySQL.
La base de données information_schema
est une base de données non modifiable qui stocke toutes les informations relatives aux bases de données et autres objets (vues, privilèges des utilisateurs, tables, contraintes, etc.) stockés dans le serveur MySQL.
Filtrage des résultats de la sortie de la base de données
Auparavant, vous renvoyiez toutes les bases de données sur le serveur MySQL avec SHOW DATABASES
, mais vous devez souvent filtrer la sortie de la base de données, principalement lorsqu'il existe de nombreuses bases de données sur le serveur.
La clause LIKE
filtre le résultat de SHOW DATABASE
en fonction d'un modèle spécifié. Voici la syntaxe générale :
SHOW DATABASES LIKE '';
Il doit s'agir d'une chaîne représentant le modèle que vous souhaitez faire correspondre. La chaîne doit se terminer par le symbole de pourcentage, %
, qui désigne un ou plusieurs caractères.
Par exemple, si vous souhaitez afficher uniquement les bases de données dont les noms commencent par la lettre w
, vous le faites en exécutant ce qui suit :
SHOW DATABASES LIKE 'w%';
Voici le résultat filtré :
Utilisation du schéma d'informations pour interroger les métadonnées de la table
Plus tôt, vous avez vu comment la base de données information_schema
stocke toutes les informations relatives aux bases de données, tables et autres objets dans l'environnement du serveur MySQL.
La base de données information_schema
utilise la table schemata pour stocker des informations sur toutes les bases de données. Pour le filtrage de base de données, vous pouvez effectuer une recherche complexe pour interroger la table de schéma pour des bases de données spécifiques.
Par exemple, si vous voulez des bases de données dont les noms commencent par "samp" ou "word", vous pouvez combiner plusieurs autres clauses pour créer une requête complexe :
SELECT schema_name FROM information_schema.schemata WHERE schema_name LIKE 'samp%' OR schema_name LIKE 'word%';
Voici le résultat :
De plus, vous disposez de la table tables
de la base de données information_schema
, qui contient des informations sur toutes les tables. De même, vous pouvez effectuer une requête pour récupérer uniquement les tables qui correspondent à un modèle spécifié.
Par exemple, la requête suivante renvoie les informations de schéma des seules tables WordPress — uniquement les tables dont les noms commencent par « wp_ » :
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
Voici le résultat :
Les autres tables trouvées dans information_schema
incluent les columns
, constraints
, les table_constraints
, check_constraints
et les referential_constraints
.
Problèmes courants et meilleures pratiques
L'une des causes les plus courantes d'erreurs lors de l'exécution de SQL est l'absence d'utilisation d'un point-virgule à la fin des instructions.
Un autre utilise une syntaxe SQL non valide ou un nom de table/colonne mal orthographié. Pour éviter cela, vérifiez le nom de la table ou de la colonne pour vous assurer qu'il est correctement orthographié. Assurez-vous également de vérifier votre syntaxe.
Voici quelques autres bonnes pratiques à garder à l'esprit.
Utiliser des majuscules pour les mots clés SQL
Lorsque vous écrivez du code SQL, utilisez toujours des majuscules pour les mots-clés SQL et des minuscules pour les noms de table et les noms de colonne. Cela rend votre code plus lisible et moins sensible aux erreurs.
Alors, au lieu de ça :
select * from information_schema.tables where table_name like 'wp_%';
Faites ceci :
SELECT * FROM information_schema.tables WHERE table_name LIKE 'wp_%';
Évitez d'utiliser SELECT *
Évitez d'utiliser SELECT *
dans vos requêtes SQL. Votre demande n'est pas claire, car vous ne pouvez pas toujours savoir ce qu'elle renverra. Au lieu de cela, spécifiez les colonnes que vous souhaitez sélectionner dans le tableau.
Donc au lieu de ça :
SELECT * EXCEPT(phone) FROM users.profile
Faites ceci :
SELECT name, dob, address, country, address, FROM user.profile
Indentez votre code
Enfin, une autre astuce pour faciliter la recherche d'erreurs consiste à indenter votre code. Cela le rend plus lisible !
Gestionnaires de bases de données
Alternativement, vous pouvez choisir de gérer vos bases de données sans écrire de SQL grâce à l'utilisation d'un gestionnaire de base de données. Cela permet aux utilisateurs d'accéder aux fonctions de gestion de base de données sans avoir besoin d'écrire des requêtes SQL. Ce logiciel se connecte à un serveur MySQL et fournit une interface utilisateur pour exposer les fonctions de la base de données. Une fois connecté, l'interface utilisateur affichera toutes les bases de données sur le serveur. L'aspect et la convivialité varient selon les outils de gestion, mais le processus est similaire.
Plusieurs outils sont disponibles au choix, notamment phpMyAdmin et Adminer, tous deux accessibles via DevKinsta. L'outil de gestion par défaut pour DevKinsta est Adminer, car il est léger, simple et rapide, mais phpMyAdmin est facilement accessible.
Sommaire
En tant qu'administrateur de serveur, vous devez être en mesure de récupérer efficacement et avec précision les détails des bases de données sur votre serveur MySQL. Les capacités de voir quelles bases de données se trouvent sur le serveur, d'afficher des tables spécifiques et les informations qu'elles contiennent, et d'accéder aux informations sur les rôles et les privilèges des utilisateurs sont toutes des tâches cruciales. Heureusement, l'utilisation de SQL à partir de votre ligne de commande peut simplifier tout cela.
Lorsque votre gestion de base de données doit s'étendre au-delà de l'interrogation des tables, Kinsta peut vous aider. En savoir plus sur nos options d'hébergement de base de données évolutives dès aujourd'hui !