Ce mémo rassemble les commandes MySQL les plus utiles au quotidien pour administrer et interroger des bases de données. Il vise à offrir des exemples pratiques, des bonnes pratiques et des commandes de référence rapides. Les commandes citées couvrent la création, la consultation, la modification et la gestion des droits.
Le format privilégie l’usage en ligne de commande tout en expliquant les options principales. Pour un accès rapide, commencez par le résumé suivant avant d’explorer les exemples détaillés.
A retenir :
- Connexions clients, paramètres host et authentification SSL sécurisée
- Manipulation des données via SELECT, INSERT, UPDATE, DELETE
- Structure et indexation : CREATE TABLE, clés et DROP TABLE
- Importation et exportation fiables avec mysqldump, LOAD DATA INFILE, mysqlimport
Connexion et gestion des bases MySQL au quotidien
Appuyé par le mémo précédent, il faut d’abord sécuriser l’accès et connaître la syntaxe de connexion. La connexion au client s’effectue via la commande mysql avec paramètres host, port, user et mot de passe.
Se connecter au client mysql
Ce point reprend la ligne de commande utilisée pour se connecter au serveur MySQL. La syntaxe typique est mysql -h host -P port -u user -p, puis saisie du mot de passe.
Vous pouvez préciser la base en ajoutant son nom après la commande, pratique pour scripts. Selon Oracle, l’option -p évite d’exposer le mot de passe dans l’historique des commandes.
« J’ai gagné du temps en mettant des variables d’environnement pour les connexions, puis en automatisant les sauvegardes. »
Alice B.
Créer et sélectionner des bases
Après la connexion, il est essentiel de connaître les commandes de création et de sélection de base. Les commandes CREATE DATABASE, SHOW DATABASES et USE sont centrales pour préparer un espace de travail.
La syntaxe peut inclure le jeu de caractères, par exemple DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci. Selon DigitalOcean, définir utf8mb4 évite les problèmes d’encodage avec les caractères modernes.
En cas de suppression, la commande DROP DATABASE efface toutes les tables, attention donc aux sauvegardes avant action. Une fois les bases en place, la maîtrise des opérations CRUD permet d’interroger et modifier efficacement les données.
Commandes essentielles :
- CREATE DATABASE IF NOT EXISTS db_name DEFAULT CHARACTER SET utf8mb4
- SHOW DATABASES pour lister les bases
- USE db_name pour sélectionner la base active
- DROP DATABASE db_name pour suppression définitive
Commande
Usage
But
CREATE DATABASE
CREATE DATABASE db_name
Créer une base avec encodage spécifique
SHOW DATABASES
SHOW DATABASES;
Lister toutes les bases disponibles
USE
USE db_name;
Sélectionner la base active pour la session
DROP DATABASE
DROP DATABASE db_name;
Supprimer la base et ses tables
Opérations CRUD et requêtes essentielles SELECT INSERT UPDATE DELETE
Après avoir préparé la base, les opérations CRUD deviennent le cœur des manipulations de données. Savoir combiner clauses permet d’obtenir précisément les lignes recherchées sans surcoût inutile.
Utiliser SELECT avec WHERE, ORDER BY, GROUP BY
Cette section montre comment assembler clauses pour filtrer, trier et agréger les résultats. La clause WHERE restreint les lignes, ORDER BY trie et GROUP BY agrège selon des colonnes choisies.
Selon Percona, l’usage d’index améliore nettement les performances des requêtes contenant des conditions. Il faut écrire JOIN correctement pour éviter les doublons et les scans complets.
Clauses fréquentes et usage :
- WHERE condition simple pour filtrer résultats
- ORDER BY colonne ASC ou DESC pour tri
- GROUP BY colonne pour agrégation
- JOIN type INNER ou LEFT selon relation
Exemple
Requête
But
Filtrer
SELECT * FROM users WHERE active=1;
Obtenir utilisateurs actifs
Trier
SELECT name FROM users ORDER BY name ASC;
Tri alphabétique des noms
Agréger
SELECT city, COUNT(*) FROM users GROUP BY city;
Comptage par ville
Joindre
SELECT * FROM a JOIN b ON a.id=b.a_id;
Combiner données liées
Exemples pratiques: INSERT, UPDATE, DELETE
Cette partie détaille les commandes qui modifient les données et les précautions à prendre pour éviter les pertes. Toujours tester les UPDATE et DELETE avec une SELECT équivalente avant exécution.
Utilisez des transactions pour regrouper plusieurs commandes modifiantes et permettre un rollback en cas d’erreur. Selon Oracle, l’utilisation de transactions limite les risques d’incohérence lors de mises à jour massives.
« J’ai accidentellement supprimé des lignes sans clause WHERE et j’en ai tiré la leçon avec des sauvegardes régulières. »
Marc L.
Pour réduire le risque, ajouter des sauvegardes avant opérations destructrices et des clauses LIMIT pour essais. Quand les requêtes sont maîtrisées, il devient nécessaire d’aborder la structuration des tables et la sécurité des utilisateurs.
Administration avancée : tables, index, utilisateurs et import/export
Quand les requêtes sont maîtrisées, la structuration des tables et l’indexation deviennent prioritaires pour la montée en charge. Une table bien pensée limite les risques de réécriture et de dégradation des performances.
Gestion des tables et index: CREATE TABLE et DROP TABLE
Ce chapitre explique les notions de champs, types, contraintes et index pour optimiser le stockage et les temps de réponse. Les types courants incluent VARCHAR, INT, TEXT, TIMESTAMP et DATETIME selon les besoins applicatifs.
Rédigez CREATE TABLE en listant les attributs, NOT NULL, DEFAULT, AUTO_INCREMENT et PRIMARY KEY pour garantir l’intégrité. Un bon schéma évite les migrations fréquentes et facilite les opérations courantes.
« La documentation m’a aidé à choisir utf8mb4 pour éviter des problèmes d’emoji et d’encodage. »
Claire P.
Utilisateurs, permissions, import/export
La gestion des utilisateurs passe par CREATE USER, GRANT et REVOKE pour limiter l’exposition des données. Attribuez les privilèges les plus restrictifs nécessaires pour chaque compte selon le principe du moindre privilège.
Pour importer ou exporter, utilisez mysqldump pour sauvegarde SQL et LOAD DATA INFILE ou mysqlimport pour fichiers texte optimisés. Selon DigitalOcean, tester les imports sur une copie de la base évite des corruptions en production.
Commandes import/export :
- mysqldump pour export SQL et restauration
- LOAD DATA INFILE pour import rapide depuis CSV
- mysqlimport pour fichiers texte structurés
- GRANT et REVOKE pour gérer permissions utilisateurs
« La politique de privilèges a réduit les incidents liés aux scripts automatisés dans notre équipe. »
Paul N.
Pour vérifier les références et approfondir, consultez la documentation officielle et les guides spécialisés cités ci-dessous. Ces sources fournissent des exemples complets et des recommandations pour l’exploitation sûre des systèmes MySQL.
Source : Oracle, « MySQL 8.0 Reference Manual », MySQL Documentation, 2023 ; DigitalOcean, « How To Use MySQL », DigitalOcean Community, 2021 ; Percona, « Backup and Restore », Percona Blog, 2022.