0% ont trouvé ce document utile (0 vote)
4 vues18 pages

Guide complet des requêtes SQL et triggers

Le document présente des requêtes SQL essentielles, y compris la création et la suppression de bases de données et de tables, ainsi que l'utilisation de triggers pour automatiser des actions. Il couvre également les commandes pour afficher, insérer, mettre à jour et supprimer des enregistrements, ainsi que l'utilisation de jointures et de fonctions d'agrégation. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

saber.hamoudan
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues18 pages

Guide complet des requêtes SQL et triggers

Le document présente des requêtes SQL essentielles, y compris la création et la suppression de bases de données et de tables, ainsi que l'utilisation de triggers pour automatiser des actions. Il couvre également les commandes pour afficher, insérer, mettre à jour et supprimer des enregistrements, ainsi que l'utilisation de jointures et de fonctions d'agrégation. Des exemples pratiques illustrent chaque concept pour faciliter la compréhension.

Transféré par

saber.hamoudan
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

31/10/2025

Requêtes SQL

TRIGGER
Un trigger, également appelé déclencheur, permet de
• Exécuter un ensemble d’instruction SQL juste après un événement.
• Faciliter et d’automatiser des actions au sein d’un Système de Gestion de Base
de Données (SGBD).

CREATE TRIGGER trigger_name


{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table_name FOR EACH ROW
trigger_body;

1
31/10/2025

TRIGGER
Exemple
Chaque fois qu’on insère une nouvelle commande, on veut automatiquement enregistrer la date
actuelle dans un champ date_creation.

Structure du Trigger
CREATE TRIGGER avant_insertion_commande
BEFORE INSERT ON commandes
FOR EACH ROW
BEGIN
SET NEW.date_creation = NOW();
END$$

Création d’une DATABASE


Pour créer une base de données qui sera appelé « ma_base »
CREATE DATABASE ma_base

Si une base de données porte déjà ce nom, la requête retournera une


erreur. Pour éviter d’avoir cette erreur, il convient d’utiliser la requête
suivante
CREATE DATABASE IF NOT EXISTS ma_base

2
31/10/2025

Suppression d’une DATABASE


Pour supprimer la base de données “ma_base”, la requête est la suivante :

DROP DATABASE ma_base

Si le nom de base utilisé n’existe pas, la requête retournera une erreur.


Pour éviter d’obtenir cette erreur

DROP DATABASE IF EXISTS ma_base

Création d’une table


La syntaxe générale pour créer une table est la suivante :

CREATE TABLE nom_de_la_table


(
colonne1 type_donnees,
colonne2 type_donnees,
colonne3 type_donnees,
colonne4 type_donnees
)

3
31/10/2025

Création d’une table


Exemple de creation d’une table
CREATE TABLE utilisateur
(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
nom VARCHAR(100),
prenom VARCHAR(100),
email VARCHAR(255),
date_naissance DATE,
pays VARCHAR(255),
ville VARCHAR(255),
code_postal VARCHAR(5),
nombre_achat INT
)

Modification d’une table


La commande ALTER TABLE en SQL permet de modifier une table existante.
ALTER TABLE nom_table
instruction

Ajouter une colonne Supprimer une colonne


ALTER TABLE utilisateur ALTER TABLE nom_table
ADD adresse_rue VARCHAR(255) DROP nom_colonne

4
31/10/2025

Suppression d’une table


Pour supprimer une table “nom_table” il suffit simplement d’utiliser la syntaxe
suivante :

Drop TABLE nom_table

Afficher le contenu d’une table


la commande SELECT retourne les enregistrements d’un tableau de résultat.
Afficher toutes les colonnes
SELECT * FROM nom_du_tableau

Afficher une seule colonne


SELECT nom_du_champ FROM nom_du_tableau

Afficher certaines colonnes


SELECT nom_colonne1, nom_colonne2 FROM nom_du_tableau

5
31/10/2025

Afficher le contenu d’une table


conditionné
la commande SELECT + where retourne les enregistrements d’un tableau selon
une condition
Afficher le contenu de la colonne si la condition est vérifiée
SELECT nom_colonnes FROM nom_table WHERE condition

Exemple
SELECT * FROM client WHERE ville = 'paris'

Afficher le contenu d’une table


conditionné par LIKE
L’opérateur LIKE est utilisé dans la clause WHERE des requêtes SQL. Ce mot-clé
permet d’effectuer une recherche sur les enregistrements dont la valeur d’une
colonne commence par telle ou telle lettre.

SELECT *FROM table WHERE colonne LIKE modele

Exemple: Affichage des villes qui commencent par ‘N’


SELECT FROM client WHERE ville LIKE 'N%'

6
31/10/2025

Afficher le contenu d’une table sans


redondance
La commande SELECT en SQL permet de lire toutes les données d’une ou plusieurs
colonnes. Cette commande peut potentiellement afficher des lignes en doubles. Pour
éviter des redondances dans les résultats il faut simplement ajouter DISTINCT après
le mot SELECT.

SELECT DISTINCT ma_colonne FROM nom_du_tableau

Pour le Système de Gestion de Bases de Données (SGBD) Oracle, cette requête est
remplacée par la commande “UNIQUE”:

SELECT UNIQUE ma_colonne FROM nom_du_tableau

Afficher le contenu d’une table


operateur Between
L’opérateur BETWEEN est utilisé dans une requête SQL pour sélectionner un
intervalle de données dans une requête utilisant WHERE.

SELECT * FROM table WHERE nom_colonne BETWEEN 'valeur1' AND 'valeur2’

Si l’ont souhaite obtenir les membres qui se sont inscrit entre le 1 avril 2012 et
le 20 avril 2012 il est possible d’effectuer la requête suivante:

SELECT * FROM utilisateur WHERE date_inscription BETWEEN ‘2012-04-01’


AND ‘2012-04-20’

7
31/10/2025

Afficher le contenu d’une table


operateur IN
L’opérateur logique IN dans SQL s’utilise avec la commande WHERE pour
vérifier si une colonne est égale à une des valeurs comprises dans set de
valeurs déterminés.

SELECT nom_colonne FROM table WHERE nom_colonne IN ( valeur1, valeur2,


valeur3, ... )
Exemple:
SELECT prenom
FROM utilisateur
WHERE prenom IN ( 'Maurice', 'Marie', 'Thimoté' )

Afficher le contenu d’une table


operateur AND & OR
Une requête SQL peut être restreinte à l’aide de la condition WHERE. Les
opérateurs logiques AND et OR peuvent être utilisées au sein de la commande
WHERE pour combiner des conditions.

SELECT nom_colonnes FROM nom_table WHERE condition1 AND/OR condition2

Exemple:

SELECT * FROM produit WHERE categorie = 'informatique' AND stock < 20

8
31/10/2025

Afficher le contenu d’une table


operateur IS NULL / IS NOT NULL
Pour filtrer les résultats où les champs d’une colonne sont à NULL il convient
d’utiliser la syntaxe suivante:

SELECT * FROM table WHERE nom_colonne IS NULL

SELECT * FROM table WHERE nom_colonne IS NOT NULL

Afficher le contenu d’une table


operateur GROUP BY
La commande GROUP BY est utilisée en SQL pour grouper plusieurs résultats et
utiliser une fonction de totaux sur un groupe de résultat.
SELECT colonne1, fonction(colonne2) FROM table GROUP BY colonne1

9
31/10/2025

Afficher le contenu d’une table


operateur GROUP BY
SELECT client, SUM(tarif) FROM achat GROUP BY client

Avant Après

Afficher le contenu d’une table


operateur HAVING
La condition HAVING en SQL est presque similaire à WHERE à la seule différence
que HAVING permet de filtrer en utilisant des fonctions telles que SUM(),
COUNT(), AVG(), MIN() ou MAX().
SELECT colonne1, SUM(colonne2) FROM nom_table GROUP BY colonne1
HAVING fonction(colonne2) operateur valeur

10
31/10/2025

Afficher le contenu d’une table


operateur HAVING
SELECT client, SUM(tarif) FROM achat GROUP BY
client HAVING SUM(tarif) > 40

Avant Après

Afficher le contenu d’une table


operateur ORDER BY
La commande ORDER BY permet de trier les lignes dans un résultat
d’une requête SQL. Il est possible de trier les données sur une ou
plusieurs colonnes, par ordre ascendant ou descendant.
SELECT colonne1, colonne2 FROM table ORDER BY colonne1 DESC/ASC

Exemple: Triage croissant (ASC)


SELECT * FROM utilisateur ORDER BY nom ASC

11
31/10/2025

Afficher le contenu d’une table


operateur AS
Dans le langage SQL il est possible d’utiliser des alias pour renommer
temporairement une colonne ou une table dans une requête. Cette
astuce est particulièrement utile pour faciliter la lecture des requêtes.
SELECT colonne1 AS c1, colonne2 FROM table

Afficher le contenu d’une table


operateur LIMIT & OFFSET
La clause LIMIT est à utiliser dans une requête SQL pour spécifier le
nombre maximum de résultats que l’ont souhaite obtenir.
SELECT * FROM table LIMIT 10

Cette requête permet de récupérer les résultats 6 à 15 (car l’OFFSET


commence toujours à 0). A titre d’exemple, pour récupérer les résultats
16 à 25 il faudrait donc utiliser: LIMIT 10 OFFSET 15
SELECT * FROM table LIMIT 10 OFFSET 5

12
31/10/2025

Insérer des enregistrements dans une table


L’insertion de données dans une table s’effectue à l’aide de la
commande INSERT INTO. Cette commande permet au choix d’inclure
une seule ligne à la base existante ou plusieurs lignes d’un coup.
INSERT INTO table VALUES ('valeur 1', 'valeur 2', ...)

Exemple:
INSERT INTO table (nom_colonne_1, nom_colonne_2) VALUES ('valeur
1', 'valeur 2')

Mettre à jour des enregistrements d’une table


La commande UPDATE permet d’effectuer des modifications sur des lignes
existantes. Très souvent cette commande est utilisée avec WHERE pour
spécifier sur quelles lignes doivent porter la ou les modifications.
UPDATE table SET nom_colonne_1 = 'nouvelle valeur’ WHERE condition

Exemple:
UPDATE client SET rue = '49 Rue Ameline’ WHERE id = 2

13
31/10/2025

Supprimer des enregistrements d’une table


La commande DELETE en SQL permet de supprimer des lignes dans une
table. En utilisant cette commande associée à WHERE il est possible de
sélectionner les lignes concernées qui seront supprimées.
DELETE FROM table WHERE condition

Exemple:
DELETE FROM utilisateur WHERE id = 1

Utilisation des jointures internes


Dans le langage SQL la commande INNER JOIN, est un type de jointures
très communes pour lier plusieurs tables entre-elles. Cette commande
retourne les enregistrements lorsqu’il y a au moins une ligne dans chaque
colonne qui correspond à la condition.
SELECT * FROM table1 INNER JOIN table2 ON [Link] = table2.fk_id

14
31/10/2025

Utilisation des jointures internes

SELECT id, prenom, nom, date_achat, num_facture, prix_total


FROM utilisateur
INNER JOIN commande ON [Link] = commande.utilisateur_id

Utilisation des jointures internes

SELECT id, prenom, nom, date_achat, num_facture, prix_total


FROM utilisateur
INNER JOIN commande ON [Link] = commande.utilisateur_id

15
31/10/2025

Fonctions d’agrégation
Les fonctions d’agrégation dans le langage SQL permettent d’effectuer
des opérations statistiques sur un ensemble d’enregistrement.
Fonction AVG
La fonction d’agrégation AVG() dans le langage SQL permet de calculer une
valeur moyenne sur un ensemble d’enregistrement de type numérique et non
nul.
SELECT client, AVG(tarif) FROM achat GROUP BY client

Fonctions d’agrégation
SELECT client, AVG(tarif) FROM achat GROUP BY client

Résultats

16
31/10/2025

Fonctions d’agrégation
Les fonctions d’agrégation dans le langage SQL permettent d’effectuer
des opérations statistiques sur un ensemble d’enregistrement.
Fonction COUNT()
En SQL, la fonction d’agrégation COUNT() permet de compter le nombre
d’enregistrement dans une table.
Possibilité des doublons
SELECT COUNT(nom_colonne) FROM table

Sans doublons
SELECT COUNT(DISTINCT nom_colonne) FROM table

Fonctions d’agrégation
SELECT COUNT(*) FROM utilisateur

Résultat

17
31/10/2025

Fonctions d’agrégation
Les fonctions d’agrégation dans le langage SQL permettent d’effectuer
des opérations statistiques sur un ensemble d’enregistrement.
Fonction SUM()
Dans le langage SQL, la fonction d’agrégation SUM() permet de calculer la
somme totale d’une colonne contenant des valeurs numériques. Cette
fonction ne fonction que sur des colonnes de types numériques (INT, FLOAT …)
SELECT SUM(prix) AS prix_total FROM facture WHERE facture_id = 1

Fonctions d’agrégation
SELECT SUM(prix) AS prix_total FROM facture WHERE facture_id = 1

Résultat

18

Vous aimerez peut-être aussi