Débuter en SQL
Apprenez à extraire vous-même les données dont vous avez besoin. Boostez vos compétences et devenez autonome avec le langage SQL !
Formation premium
Débuter en SQL
Cette formation vous apprend SQL de manière concrète avec Laragon, MySQL et phpMyAdmin. Vous allez créer une vraie base de test, manipuler des tables, écrire des requêtes propres, comprendre les erreurs fréquentes et apprendre les opérations classiques : CREATE, INSERT, SELECT, WHERE, UPDATE, DELETE, JOIN, GROUP BY, vues, index et sauvegardes.
Comprendre à quoi sert SQL
SQL signifie Structured Query Language. C’est le langage utilisé pour communiquer avec une base de données relationnelle comme MySQL ou MariaDB.
Dans cette formation, nous allons travailler avec Laragon pour lancer un environnement local et phpMyAdmin pour exécuter les requêtes SQL directement depuis le navigateur.
Ce que SQL permet de faire
SQL permet de créer une base, créer des tables, insérer des données, lire des données, filtrer les résultats, modifier des lignes, supprimer des lignes, relier plusieurs tables, créer des vues et analyser le contenu d’une base.
Objectif de la formation
À la fin, vous serez capable de comprendre et d’écrire les requêtes SQL classiques utilisées dans un vrai projet PHP, WordPress, WooCommerce ou application maison.
Préparer Laragon et phpMyAdmin
Pour travailler proprement, nous allons utiliser un environnement local. Laragon permet de lancer Apache, PHP et MySQL sur votre ordinateur. phpMyAdmin sert ensuite à gérer les bases de données facilement.
Étapes à suivre
Lancez Laragon, démarrez les services, puis ouvrez phpMyAdmin depuis le menu Laragon ou depuis l’adresse locale prévue selon votre configuration.
Créer une base de test
Dans phpMyAdmin, vous pouvez créer une base manuellement ou lancer cette requête depuis l’onglet SQL.
Ensuite, sélectionnez la base formation_sql dans phpMyAdmin avant
d’exécuter les prochaines requêtes.
Créer des tables avec CREATE TABLE
Une base de données contient des tables. Une table ressemble à un tableau : elle contient des colonnes et des lignes.
Pour notre exemple, nous allons créer une mini base de boutique avec des clients, des produits et des commandes.
À retenir
INT sert aux nombres entiers, VARCHAR aux textes courts,
DECIMAL aux prix, DATETIME aux dates, et
PRIMARY KEY identifie chaque ligne de manière unique.
Insérer des données avec INSERT INTO
La commande INSERT INTO permet d’ajouter des lignes dans une table.
Erreur fréquente
Si une colonne est obligatoire avec NOT NULL, vous devez fournir une valeur,
sauf si une valeur par défaut existe.
Lire les données avec SELECT
SELECT est la commande la plus utilisée. Elle permet de récupérer des
données depuis une ou plusieurs tables.
Conseil important
En développement, SELECT * est pratique. En production, il est souvent
préférable de sélectionner uniquement les colonnes nécessaires.
Filtrer avec WHERE
WHERE permet de récupérer uniquement les lignes qui respectent une condition.
Attention à NULL
On ne teste pas NULL avec = NULL, mais avec
IS NULL ou IS NOT NULL.
Trier et paginer avec ORDER BY et LIMIT
ORDER BY permet de trier les résultats. LIMIT permet
de limiter le nombre de lignes retournées.
Modifier des données avec UPDATE
UPDATE permet de modifier des lignes existantes. Il faut toujours
utiliser WHERE pour éviter de modifier toute la table.
La règle d’or
Avant un UPDATE, faites souvent un SELECT avec le même
WHERE pour vérifier les lignes concernées.
Supprimer des données avec DELETE
DELETE supprime définitivement des lignes. Cette commande doit être
utilisée avec prudence, surtout depuis phpMyAdmin.
Alternative plus sûre
Dans beaucoup de projets, on préfère désactiver une ligne plutôt que la supprimer. C’est ce qu’on appelle parfois une suppression logique.
Attention
Un DELETE FROM clients; sans WHERE supprime tous les clients.
Compter et analyser avec COUNT, SUM, AVG, MIN, MAX
SQL permet aussi de faire des calculs sur les données.
Regrouper les résultats avec GROUP BY
GROUP BY permet de regrouper des lignes pour faire des statistiques.
WHERE ou HAVING ?
WHERE filtre avant le regroupement.
HAVING filtre après le regroupement.
Relier plusieurs tables avec JOIN
Une jointure permet de récupérer des données réparties dans plusieurs tables. C’est indispensable dans une vraie base relationnelle.
INNER JOIN ou LEFT JOIN ?
INNER JOIN affiche uniquement les lignes qui ont une correspondance.
LEFT JOIN garde toutes les lignes de la table de gauche, même sans correspondance.
Créer des vues avec CREATE VIEW
Une vue est une requête enregistrée. Elle permet de simplifier des requêtes longues et de les réutiliser plus facilement.
Utilité concrète
Une vue est pratique pour préparer un tableau de bord, une page admin, une exportation ou une requête souvent utilisée.
Accélérer les recherches avec les index
Un index aide MySQL à retrouver plus vite les lignes. Il est utile sur les colonnes
souvent utilisées dans les WHERE, JOIN ou
ORDER BY.
Attention
Trop d’index peuvent ralentir les insertions et les mises à jour. Il faut indexer intelligemment, pas tout indexer au hasard.
Modifier la structure avec ALTER TABLE
ALTER TABLE permet de modifier une table existante :
ajouter une colonne, modifier un type, ajouter un index ou renommer une colonne.
Bonne pratique
Avant un ALTER TABLE, faites toujours une sauvegarde si la base contient
des données importantes.
Sécuriser plusieurs actions avec les transactions
Une transaction permet d’exécuter plusieurs requêtes ensemble.
Si tout se passe bien, on valide avec COMMIT.
En cas de problème, on annule avec ROLLBACK.
Utilité concrète
Les transactions sont très utiles pour les commandes, paiements, inscriptions, réservations ou opérations sensibles.
Requêtes utiles dans phpMyAdmin
Voici plusieurs requêtes utiles pour explorer une base depuis phpMyAdmin.
Comprendre les erreurs fréquentes
Quand une requête échoue dans phpMyAdmin, le message d’erreur donne souvent une indication utile.
Erreur de syntaxe
Elle arrive souvent à cause d’une virgule oubliée, d’une apostrophe mal fermée ou d’un mot réservé utilisé comme nom de colonne.
Erreur de contrainte unique
Si une colonne possède une contrainte UNIQUE, deux lignes ne peuvent
pas avoir la même valeur.
Erreur de clé étrangère
Elle arrive quand vous essayez de créer une commande pour un client qui n’existe pas.
SQL et sécurité côté PHP
Dans phpMyAdmin, on écrit directement du SQL. Mais dans un vrai site PHP, il ne faut jamais concaténer directement les données utilisateur dans une requête.
Mauvais exemple
Bon exemple avec requête préparée
Les requêtes préparées protègent contre les injections SQL et rendent le code plus propre.
Sauvegarder, importer et exporter avec phpMyAdmin
Avant de modifier une base importante, il faut savoir l’exporter. phpMyAdmin permet de générer un fichier SQL contenant la structure et les données.
Exporter une base
Dans phpMyAdmin, sélectionnez la base, cliquez sur Exporter, choisissez le format SQL, puis téléchargez le fichier.
Importer une base
Sélectionnez une base vide, cliquez sur Importer, choisissez le fichier SQL, puis lancez l’import.
Conseil
Avant une requête risquée comme DELETE, UPDATE massif ou
ALTER TABLE, exportez la table ou la base.
Exercices pratiques
Pour valider la formation, essayez de faire ces exercices directement dans phpMyAdmin.
Exercice 1 : afficher les produits actifs
Exercice 2 : afficher les clients de Lyon ou Paris
Exercice 3 : calculer le total payé
Exercice 4 : afficher les commandes avec nom du client
Exercice 5 : créer une vue dashboard
Récapitulatif de la formation SQL
Vous avez maintenant vu les commandes SQL essentielles à connaître pour travailler sur une base MySQL depuis phpMyAdmin.
La suite logique
Après cette formation, vous pouvez continuer avec PDO en PHP, les requêtes préparées, la conception de schémas propres, les relations avancées et l’optimisation SQL.