Bases & syntaxe
Connexion à MySQL
mysql -u username -p
Se connecter au serveur MySQL avec un utilisateur spécifique.
Création d'une base de données
CREATE DATABASE mydatabase;
Créer une nouvelle base de données.
Sélection d'une base de données
USE mydatabase;
Sélectionner la base de données courante pour les opérations suivantes.
Structures de données
Création d'une table
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
age INT,
salary DECIMAL(10, 2)
);
Créer une nouvelle table avec des colonnes spécifiées.
Ajout de colonne à une table
ALTER TABLE employees ADD COLUMN email VARCHAR(100);
Ajouter une nouvelle colonne à une table existante.
Fonctions & methodes essentielles
Sélection de données
SELECT name, salary FROM employees WHERE age > 30;
Sélectionner des données spécifiques d'une table avec des conditions.
Insertion de données
INSERT INTO employees (name, age, salary) VALUES ('John Doe', 30, 5000.00);
Insérer de nouvelles lignes dans une table.
Mise à jour de données
UPDATE employees SET salary = 5500.00 WHERE id = 1;
Mettre à jour des données existantes dans une table.
Patterns courants
Jointure entre tables
SELECT e.name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.id;
Joindre deux tables pour combiner leurs données.
Agrégation de données
SELECT AVG(salary) AS avg_salary FROM employees;
Calculer une agrégation sur un ensemble de données.
Operations avancees
Sous-queries
SELECT name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
Utiliser des sous-queries pour filtrer des données complexes.
Transactions
START TRANSACTION;
UPDATE employees SET salary = 6000.00 WHERE id = 1;
COMMIT;
Gérer les transactions pour assurer l'intégrité des données.
Debugging & outils
Affichage du temps d'exécution d'une requête
EXPLAIN SELECT * FROM employees WHERE salary > 5000;
Analyser et afficher le plan d'exécution d'une requête pour l'optimisation.
Utilisation de MySQL Workbench
MySQL Workbench est un outil graphique pour gérer les bases de données MySQL.