Formation Complète sur SQL

Introduction

SQL (Structured Query Language) est un langage utilisé pour interagir avec les bases de données relationnelles. Il permet de gérer, manipuler et interroger des données efficacement. Ce cours couvre les bases, les fonctions avancées et des cas pratiques.

1. Concepts de Base

1.1. Types de Données

Les types de données les plus courants :

1.2. Structure de Base

Exemple d'une requête simple :

SELECT Nom, Prenom
FROM Employes
WHERE Salaire > 30000
ORDER BY Salaire DESC;
    

2. Création et Gestion de Bases de Données

2.1. Création de Base

CREATE DATABASE GestionEntreprise;
USE GestionEntreprise;
    

2.2. Création de Tables

Exemple de création d'une table "Employes" :

CREATE TABLE Employes (
    ID INT AUTO_INCREMENT PRIMARY KEY,
    Nom VARCHAR(50) NOT NULL,
    Prenom VARCHAR(50),
    Poste VARCHAR(50),
    Salaire DECIMAL(10, 2),
    DateEmbauche DATE
);
    

2.3. Contraintes

Les contraintes assurent l'intégrité des données :

3. Manipulation des Données

3.1. Insérer des Données

INSERT INTO Employes (Nom, Prenom, Poste, Salaire, DateEmbauche)
VALUES ('Dupont', 'Jean', 'Développeur', 40000, '2022-01-15');
    

3.2. Mettre à Jour des Données

UPDATE Employes
SET Salaire = 45000
WHERE Nom = 'Dupont';
    

3.3. Supprimer des Données

DELETE FROM Employes
WHERE Nom = 'Dupont';
    

4. Requêtes Avancées

4.1. Jointures

Connecter plusieurs tables :

SELECT e.Nom, p.NomProjet
FROM Employes e
INNER JOIN Projets p ON e.ID = p.IDEmploye;
    

4.2. Sous-requêtes

SELECT Nom, Prenom
FROM Employes
WHERE Salaire > (
    SELECT AVG(Salaire) FROM Employes
);
    

4.3. Fonctions Agrégées

SELECT COUNT(*) AS NombreEmployes, AVG(Salaire) AS SalaireMoyen
FROM Employes;
    

5. Gestion Avancée

5.1. Vues

CREATE VIEW VueDeveloppeurs AS
SELECT Nom, Prenom, Salaire
FROM Employes
WHERE Poste = 'Développeur';
    

5.2. Transactions

Garantir l'intégrité des opérations :

START TRANSACTION;
UPDATE Comptes SET Solde = Solde - 100 WHERE ID = 1;
UPDATE Comptes SET Solde = Solde + 100 WHERE ID = 2;
COMMIT;
    

5.3. Index

Améliorer les performances :

CREATE INDEX IndexNom ON Employes(Nom);
    

6. Sécurité et Bonnes Pratiques

7. Exercices Pratiques

  1. Créer une base de données pour une bibliothèque avec des tables pour les livres, les auteurs et les emprunts.
  2. Écrire une requête pour trouver les 5 livres les plus empruntés.
  3. Mettre à jour les informations d'un auteur.
Retour à l'accueil