Vous êtes sur la page 1sur 38

Partie 3

Module 1

Réaliser des
Overview requêtes
of HTML andSQL
CSS
Dans cette partie vous allez apprendre

• Introduction
• Insertion des données à l'aide de INSERT INTO
• Modification des données à l'aide de UPDATE
• Suppression des données à l'aide de DELETE
• Extraction des données à l'aide de SELECT
• Filtrage des données
• Mise en forme des résultats
• Les opérations UNION et UNION ALL
Introduction

• Les requêtes LMD


• Le LMD (Le Langage de Manipulation de Données) ou DML
(Data Manipulation Language) est un langage SQL utilisé
pour manipuler les données de la base de données de la
façon suivante :
• L'insertion des données : à l'aide de l'instruction INSERT INTO.
• La mise à jour des données : à l'aide de l'instruction UPDATE.
• La suppression des données : à l'aide de l'instruction DELETE.
• La recherche des données : à l'aide de l'instruction SELECT.
Insertion des données à l'aide de INSERT INTO

• L'instruction INSERT INTO


• L'instruction INSERT INTO est utilisée pour insérer de
nouveaux enregistrements dans une table . Il est possible
d'écrire l'instruction INSERT INTO de deux manières :
1 - Spécifier à la fois le nom des colonnes et les valeurs à insérer :
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

2 - Spécifier seulement les valeurs à insérer. Dans ce cas les valeurs sont
ajoutées pour toutes les colonnes de la table et aussi il faut respecter
l'ordre des valeurs des colonnes :
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Insertion des données à l'aide de INSERT INTO

• L'instruction INSERT INTO


• Exemple 1 : Insérer un nouvel enregistrement dans la table
Customers :
INSERT INTO Customers (CustomerName, ContactName, Address,
City, PostalCode, Country)
VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21',
'Stavanger', '4006', 'Norway');
• Exemple 2 : Insérer un nouvel enregistrement dans des
colonnes spécifiées de la table Customers :
INSERT INTO Customers (CustomerName, City, Country)
VALUES ('Cardinal', 'Stavanger', 'Norway');
Modification des données à l'aide de UPDATE

• L'instruction UPDATE
• L'instruction UPDATE est utilisée pour modifier des
enregistrements existants dans une table.
• Sa syntaxe est :
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
Modification des données à l'aide de UPDATE

• L'instruction UPDATE
• Exemple 1 : on modifie une seule ligne de la table Customers
qui a le champ CustomerID = 1.
UPDATE Customers
SET ContactName = 'Alfred Schmidt', City = 'Frankfurt'
WHERE CustomerID = 1;
• Exemple 2 : on modifie toutes les lignes de la table
Customers qui ont le champ Country = 'Mexico'.
UPDATE Customers
SET ContactName = 'Juan'
WHERE Country = 'Mexico';
• Exemple 3 : on modifie l'ensemble des lignes de la table.
UPDATE Customers
SET ContactName ='Juan';
Suppression des données à l'aide de DELETE

• L'instruction DELETE
• L'instruction DELETE est utilisée pour supprimer des
enregistrements existants dans une table.
• Pour supprimer des lignes de la table qui correspondent à
une condition, utiliser la syntaxe :
DELETE FROM table_name WHERE condition;

• Pour supprimer toutes les lignes de la table, utiliser la


syntaxe :
TRUNCATE table_name;
Suppression des données à l'aide de DELETE

• L'instruction DELETE
• Exemple 1 : on supprime les lignes de la table Customers qui
ont le champ CustomerName = 'Alfreds Futterkiste'
DELETE FROM Customers
WHERE CustomerName = 'Alfreds Futterkiste';
• Exemple 2 : on supprime toutes les lignes de la table
Customers
TRUNCATE Customers;
Extraction des données à l'aide de SELECT

• L’instruction SELECT
• L’instruction SELECT permet de sélectionner des données
dans une base de données.
• Sa syntaxe est :
SELECT column1, column2, ...
FROM table_name;

• Les champs column1, column2, ... sont les colonnes de la


table table_name que vous souhaitez sélectionner.
• Pour afficher tous les champs de la table, utiliser la syntaxe :
SELECT * FROM table_name;
Extraction des données à l'aide de SELECT

• L’instruction SELECT
• L’exemple suivant sélectionne les champs CustomerName,
City et Country de la table Customers :
SELECT CustomerName, City, Country FROM Customers;

• Pour sélectionner tous les champs de la table Customers :


SELECT * FROM Customers;
Extraction des données à l'aide de SELECT

• L’instruction SELECT DISTINCT


• L’instruction SELECT DISTINCT est utilisée pour renvoyer
uniquement des valeurs distinctes (différentes).
• Sa syntaxe est :
SELECT DISTINCT column1, column2, ...
FROM table_name;

• Exemple :
SELECT Country FROM Customers;
SELECT DISTINCT Country FROM Customers;
Filtrage des données

• Utilisation de la clause WHERE


• La clause WHERE est utilisée pour filtrer les enregistrements.
• Voici la syntaxe d’utilisation de la clause WHERE :
SELECT column1, column2, ...
FROM table_name
WHERE condition;

• Exemple :
SELECT * FROM Customers
WHERE Country = 'Mexico';
Filtrage des données

• Les opérateurs dans la clause WHERE


• Les opérateurs utilisés dans la clause WHERE :
• Les opérateurs de comparaison :
• =, >, <, >=, <=, <> (Différent de ou bien on peut utiliser !=).
• Les opérateurs logiques :
• AND , OR ,et NOT : se sont les opérateurs logiques ET, OU et NON.
• Comparaison de chaînes :
• LIKE et NOT LIKE : Utilise les caractères génériques dans la recherche.
• Plage des valeurs :
• BETWEEN et NOT BETWEEN : Extrait les lignes qui se trouvent dans une
plage de valeurs spécifiée.
• Liste de valeurs :
• IN et NOT IN : Extrait les lignes qui se trouvent dans une liste de valeurs
spécifiée.
• Les valeurs inconnues :
• IS NULL et IS NOT NULL : Cherche si aucune valeur n'est saisie.
Filtrage des données

• Les opérateurs dans la clause WHERE


• Les opérateurs de comparaison :
SELECT * FROM Products WHERE Price <> 18;

SELECT * FROM Products WHERE Price > 30;

SELECT * FROM Products WHERE Price = 18;


Filtrage des données

• Les opérateurs dans la clause WHERE


• Les opérateurs logiques AND et OR :
SELECT * FROM Customers
WHERE Country = 'Germany' AND City = 'Berlin';

SELECT * FROM Customers


WHERE Country = 'Germany' OR Country = 'Spain';

SELECT * FROM Customers


WHERE Country = 'Germany' AND (City = 'Berlin' OR City = 'Stuttgart');
Filtrage des données

• Les opérateurs dans la clause WHERE


• L'opérateur logique NOT :
SELECT * FROM Customers
WHERE NOT Country = 'Germany';
SELECT * FROM Customers
WHERE Country != 'Germany';

SELECT * FROM Customers


WHERE NOT Country = 'Germany' AND NOT Country = 'USA';
Filtrage des données

• Les opérateurs dans la clause WHERE


• Les opérateurs de liste de valeurs IN et NOT IN :
SELECT * FROM Customers
WHERE City IN ('Paris','London');
SELECT * FROM Customers
WHERE City = 'Paris' OR City = 'London';

SELECT * FROM Customers


WHERE City NOT IN ('Paris','London');
SELECT * FROM Customers
WHERE NOT City = 'Paris' AND NOT City = 'London';
Filtrage des données

• Les opérateurs dans la clause WHERE


• Les opérateurs BETWEEN et NOT BETWEEN :
SELECT * FROM Products
WHERE Price BETWEEN 50 AND 60;

SELECT * FROM Products


WHERE Price NOT BETWEEN 50 AND 60;
Filtrage des données

• Les opérateurs dans la clause WHERE


• L'opérateur LIKE :
• L'opérateur LIKE est utilisé dans une clause WHERE pour rechercher
un modèle spécifié dans une colonne.
• Deux caractères génériques sont utilisés avec l'opérateur LIKE :
• % : représente zéro à plusieurs caractères.
• _ : représente un seul caractère.
• Exemples :
Filtrage des données

• Les opérateurs dans la clause WHERE


• L'opérateur LIKE :
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

SELECT * FROM Customers


WHERE CustomerName LIKE '%a';
Filtrage des données

• Les opérateurs dans la clause WHERE


• L'opérateur NOT LIKE :
SELECT * FROM Customers
WHERE CustomerName NOT LIKE '%or%';

SELECT * FROM Customers


WHERE CustomerName NOT LIKE '%a';
Filtrage des données

• Les opérateurs dans la clause WHERE


• L'opérateur RLIKE ou REGEXP :
• L'opérateur RLIKE ou REGEXP est utilisé dans une clause WHERE pour
rechercher un modèle qui correspond à une expression régulière.
• Les caractères qui forme une expression régulière :
• . : n'importe quel caractère.
• * : indique l'occurrence zéro ou plusieurs caractère.
• + : indique l'occurrence un ou plusieurs caractère.
• ? : indique l'occurrence un ou un caractère.
• ^ : indique le début de la chaîne.
• $ : indique le début de la chaîne.
• [a-z], [A-Z] : n'importe quelle lettre minuscule / majuscule.
• [0-9] : n'importe quel chiffre.
• [abc] : tout caractère indiqué entre crochets.
• [^abc] : tout caractère sauf les caractères indiqués entre les crochets.
• p1|p2|p3 : correspond à l'un des motifs p1, p2 ou p3.
• {n} : n instances de l'élément précédent.
• {m,n} : m à n instances de l'élément précédent.
Filtrage des données

• Les opérateurs dans la clause WHERE


• L'opérateur RLIKE ou REGEXP :
SELECT * FROM Customers
WHERE CustomerName RLIKE '^a.+s$';

SELECT * FROM Customers


WHERE CustomerName REGEXP '^[EG].+';
Filtrage des données

• Les opérateurs dans la clause WHERE


• Les opérateurs IS NULL et IS NOT NULL
SELECT CustomerName, ContactName, Address FROM Customers
WHERE Address IS NULL;

SELECT CustomerName, ContactName, Address FROM Customers


WHERE Address IS NOT NULL;
Mise en forme des résultats

• Tri des données avec ORDER BY


• L'instruction ORDER BY permet de trier l'ensemble de
résultats par ordre croissant ASC ou décroissant DESC.
• Sa syntaxe est :
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

• L'instruction ORDER BY trie les enregistrements par défaut


par ordre croissant. Pour trier les enregistrements par ordre
décroissant, utilisez le mot-clé DESC.
Mise en forme des résultats

• Tri des données avec ORDER BY


• Le tri croissant :
SELECT * FROM Customers
ORDER BY Country;
SELECT * FROM Customers
ORDER BY Country ASC;
Mise en forme des résultats

• Tri des données avec ORDER BY


• Le tri décroissant :
SELECT * FROM Customers
ORDER BY Country DESC;
Mise en forme des résultats

• Tri des données avec ORDER BY


• Il est possible de faire un tri mixte :
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC;
Mise en forme des résultats

• Énumération des n premières valeurs


• La clause LIMIT est utilisée pour spécifier le nombre
d'enregistrements à renvoyer.
• La clause LIMIT est utile pour les tables contenant des
milliers d'enregistrements. Le renvoi d'un grand nombre
d'enregistrements peut avoir un impact sur les performances.
• Sa syntaxe est :
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Mise en forme des résultats

• Énumération des n premières valeurs


• Exemple d'utilisation de la clause LIMIT :
SELECT * FROM Customers
LIMIT 3;

SELECT * FROM Customers


WHERE Country = 'Germany'
LIMIT 3;
Mise en forme des résultats

• Énumération des n premières valeurs


• L'exemple suivant affiche le produit le plus cher :
SELECT * FROM Products
ORDER BY Price DESC
LIMIT 1;

• L'exemple suivant affiche le produit le moins cher :


SELECT * FROM Products
ORDER BY Price
LIMIT 1;
Mise en forme des résultats

• Créer un alias à l'aide du mot clé AS


• Vous pouvez créer des noms de colonne plus lisibles à l'aide
du mot clé AS pour remplacer les noms de colonne par
défaut par des alias dans la liste de sélection.
• Un alias n'existe que pour la durée de la requête.
• La syntaxe de la création d'un alias pour une colonne :

SELECT column_name AS alias_name


FROM table_name;
• La syntaxe de la création d'un alias pour une table :
SELECT column_name(s)
FROM table_name AS alias_name;
Mise en forme des résultats

• Créer un alias à l'aide du mot clé AS


• Exemple 1:
SELECT CustomerID AS ID, CustomerName AS Customer
FROM Customers;

• Exemple 2:
SELECT CustomerName AS Customer, ContactName AS "Contact
Person" FROM Customers;
Mise en forme des résultats

• Créer un alias à l'aide du mot clé AS


• L'exemple suivant crée un alias nommé "Address" qui
combine quatre colonnes (Address, PostalCode, City et
Country) :
SELECT CustomerName, CONCAT_WS(', ', Address, PostalCode,
City, Country) AS Address
FROM Customers;

• Plus d'information sur la fonction CONCAT_WS() :


https://www.w3schools.com/mysql/func_mysql_concat_ws.asp
Les opérations UNION et UNION ALL

• Les opérations UNION et UNION ALL


• Les opérations UNION et UNION ALL sont utilisées pour
combiner l'ensemble de résultats de deux ou plusieurs
instructions SELECT avec les conditions suivantes :
• Chaque instruction SELECT doit avoir le même nombre de colonnes.
• Les colonnes doivent également avoir le même type de données.
• Les colonnes de chaque instruction SELECT doivent également être
dans le même ordre.
• Sa syntaxe est :
SELECT column_name(s) FROM table1
UNION | ALL
SELECT column_name(s) FROM table2;

• L'opération UNION sélectionne uniquement des valeurs


distinctes et UNION ALL sélectionne toutes les valeurs.
Les opérations UNION et UNION ALL

• Les opérations UNION et UNION ALL


• Exemple 1 :
SELECT * FROM Customers1;
SELECT * FROM Customers2;

SELECT * FROM Customers1


UNION ALL
SELECT * FROM Customers2;

SELECT * FROM Customers1


UNION
SELECT * FROM Customers2;
Les opérations UNION et UNION ALL

• Les opérations UNION et UNION ALL


• Exemple 2 :
SELECT ID, Name FROM Customers1
UNION
SELECT IdCustomer, NameCustomer
FROM Customers2;

SELECT ID FROM Customers1


UNION
SELECT IdCustomer
FROM Customers2;

Vous aimerez peut-être aussi