Resume des commandes SQL
1. Categories principales des commandes SQL
1. DDL (Data Definition Language) : Utilise pour definir et modifier la structure des bases de
donnees.
- CREATE : Creer des bases de donnees, tables, index, etc.
CREATE TABLE utilisateurs (
id INT PRIMARY KEY,
nom VARCHAR(50),
email VARCHAR(100)
);
- ALTER : Modifier la structure d'une table existante.
ALTER TABLE utilisateurs ADD age INT;
- DROP : Supprimer des bases de donnees, tables, ou colonnes.
DROP TABLE utilisateurs;
2. DML (Data Manipulation Language) : Utilise pour manipuler les donnees.
- INSERT : Ajouter des enregistrements dans une table.
INSERT INTO utilisateurs (id, nom, email) VALUES (1, 'Alice', 'alice@example.com');
- UPDATE : Mettre a jour des enregistrements existants.
UPDATE utilisateurs SET email = 'new_email@example.com' WHERE id = 1;
- DELETE : Supprimer des enregistrements.
DELETE FROM utilisateurs WHERE id = 1;
3. DQL (Data Query Language) : Utilise pour interroger les donnees.
- SELECT : Recuperer des donnees d'une ou plusieurs tables.
SELECT nom, email FROM utilisateurs WHERE age > 18;
4. DCL (Data Control Language) : Utilise pour contrôler les accès.
- GRANT : Accorder des permissions.
GRANT SELECT, INSERT ON utilisateurs TO 'user1';
- REVOKE : Retirer des permissions.
REVOKE INSERT ON utilisateurs FROM 'user1';
5. TCL (Transaction Control Language) : Gère les transactions dans les bases de donnees.
- COMMIT : Valider une transaction.
COMMIT;
- ROLLBACK : Annuler une transaction.
ROLLBACK;
- SAVEPOINT : Creer un point de sauvegarde dans une transaction.
SAVEPOINT point1;
2. Commandes supplementaires et fonctions courantes
1. Clauses courantes avec SELECT :
- WHERE : Filtrer les enregistrements.
SELECT * FROM utilisateurs WHERE age > 25;
- ORDER BY : Trier les resultats.
SELECT * FROM utilisateurs ORDER BY nom ASC;
- GROUP BY : Regrouper les donnees.
SELECT age, COUNT(*) FROM utilisateurs GROUP BY age;
- HAVING : Filtrer les groupes.
SELECT age, COUNT(*) FROM utilisateurs GROUP BY age HAVING COUNT(*) > 2;
- LIMIT : Limiter le nombre de resultats.
SELECT * FROM utilisateurs LIMIT 5;
2. Jointures : Combiner les donnees de plusieurs tables.
- INNER JOIN : Retourne les correspondances dans les deux tables.
SELECT u.nom, o.commande
FROM utilisateurs u
INNER JOIN commandes o ON u.id = o.utilisateur_id;
- LEFT JOIN : Retourne tous les enregistrements de la table gauche.
SELECT u.nom, o.commande
FROM utilisateurs u
LEFT JOIN commandes o ON u.id = o.utilisateur_id;
- RIGHT JOIN : Retourne tous les enregistrements de la table droite.
SELECT u.nom, o.commande
FROM utilisateurs u
RIGHT JOIN commandes o ON u.id = o.utilisateur_id;
3. Fonctions d'agregation :
- COUNT : Compter le nombre d'enregistrements.
SELECT COUNT(*) FROM utilisateurs;
- AVG : Calculer la moyenne.
SELECT AVG(age) FROM utilisateurs;
- SUM : Calculer la somme.
SELECT SUM(salaire) FROM utilisateurs;
- MIN/MAX : Trouver la valeur minimale ou maximale.
SELECT MIN(age), MAX(age) FROM utilisateurs;
4. Sous-requêtes :
- Dans le SELECT :
SELECT nom, (SELECT COUNT(*) FROM commandes WHERE utilisateur_id = u.id) AS
nb_commandes
FROM utilisateurs u;
- Dans le WHERE :
SELECT nom FROM utilisateurs WHERE id IN (SELECT utilisateur_id FROM commandes);
Conclusion
Ce resume couvre les commandes SQL de base et leurs applications. Il permet de manipuler et
interroger efficacement les donnees dans une base de donnees relationnelle. Pour approfondir,
explorez les differents SGBD comme MySQL, PostgreSQL, ou SQL Server, et leurs extensions
specifiques.