0% ont trouvé ce document utile (0 vote)
2 vues7 pages

Atelier SQL : Manipulation de données

Transféré par

Oussama
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)
2 vues7 pages

Atelier SQL : Manipulation de données

Transféré par

Oussama
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

Atelier Base de données ISET Bizerte

Langage SQL

Langage de manipulation des données (LMD)

I. Partie théorique

1. Insertion d’un tuple

insert into nom_de_table (attribut1, attribut2,…,attributn)

values (valeur1, valeur2,…, valeurn) ;

Exemple :

insert into client (numclient, nom, adresse) values (1000, 'mohamed', 'Tunis') ;

La liste descriptive peut être omise, et dans ce cas on doit respecter l’ordre des colonnes
(défini lors de la création de la table et qu’on peut consulter par la commande DESC
nom_table)

insert into client values (1000, ‘mohamed’, ‘Tunis’) ;

2. Modification d’un ou de plusieurs tuples

Update nom_de_table

Set attribut=constante/expression

[where condition] ;

Set : spécifie quels attributs sont mis à jour et quelles valeurs leurs sont assignées.

Where : détermine quelles lignes de la table sont concernées, clause nom obligatoire si toutes
les lignes sont modifiées.

Exemple :

Update client set adresse='TU' where adresse='TUNIS' ;

1
Atelier Base de données ISET Bizerte

3. Suppression d’un ou de plusieurs tuples

Delete from nom_de_table

[where condition];

Exemple :

Delete from client where nom like 'ahmed';

4. Interrogation de la base
La commande select permet de rechercher des informations selon divers critères.

Select {*|attribut1, attribut2,…,attributn} from nom_de_table


[where condition]

[group by attribut1,…, attributn Having condition];

 Le caractère * signifie tous les attributs.


 La clause from spécifie la ou les tables à partir desquelles les données seront extraites.
 La clause where permet de spécifier un critère de sélection.

Une condition peut prendre différentes formes :

 Comparaison à une valeur


 Comparaison à une expression
 Comparaison à une liste
 Test sur l’indétermination d’une valeur
 …
 Les opérations sont :

= Egal

!= Différent

> Supérieur

>= Supérieur ou égal

< Inférieur

<= Inférieur ou égal

[NOT] BETWEEN…and… [pas] entre … et …

2
Atelier Base de données ISET Bizerte

[NOT] IN [pas] dans

[NOT] LIKE [pas] comme

IS NULL Est indéfini

IS NOT NULL N’est pas indéfini

ANY Au moins un

ALL Tout

 Le caractère % permet de remplacer une séquence de caractères (éventuellement


nulle)
 Les caractères [-] permettent de définir un intervalle de caractères (par exemple [J-
M])

Remarque : Si on veut avoir deux copies d’une même table, on lui affecte deux noms fictifs
dans la clause From.

Exemple :

On veut avoir la liste des articles dont le prix dépasse celui de l’article N°2.

Select [Link], [Link]

From Article B, Article A

Where [Link] > [Link]

And [Link]=2

Select peut être suivi de All ou de Distinct. Avec All la commande affiche tous les tuples issus
de la requête, tandis que Distinct élimine les répétitions.

4.1 La clause Order By

La clause Order by permet de trier les tuples sélectionnées selon la valeur d’un ou de
plusieurs attributs. En ajoutant ASC ou DESC, on précise l’ordre croissant ou décroissant.

Exemple : afficher les noms des clients par ordre croissant.


Select nom from Client Order by nom Asc;

3
Atelier Base de données ISET Bizerte

4.2 La clause Group By


La clause Group by permet de créer des groupes de lignes pour appliquer des fonctions
d’agrégat sur le groupe. Il est possible de créer des groupes sur plusieurs attributs.
Les fonctions d’agrégat opèrent sur un ensemble de valeur fournissant une valeur unique :

 AVG( ) moyenne des valeurs


 SUM( ) somme des valeurs
 MIN( ) valeur minimum
 MAX( ) valeur maximum
 COUNT( ) nombre de valeurs

On peut utiliser la clause HAVING avec la clause Group By. Elle est équivalente à la clause
where appliquée aux groupes, en effet elle porte sur la valeur d’une fonction calculée sur un
groupe.

Exemples :
1. Donner le nombre de clients dans la table client
Select count(*) as "nombre des clients" from Client

2. Donner pour chaque article commandé, la quantité maximale commandée :


Select NumArt, Max(QteCmd) as "quantité maximale commadée" from lig_com
group by NumArt

3. Afficher les noms de clients qui ont passé des commandes dont leurs montants
commandés dépassent 1000DT : MontantCmd=somme(PrixUnit*QteCmd)
Select [Link]
From client C, commande CO, Lig_com LC, article A
Where [Link]=[Link]
And [Link]=[Link]
And [Link]=[Link]
Group by [Link]
Having Sum([Link]*[Link])>=1000;

4
Atelier Base de données ISET Bizerte

II. Partie pratique

Soit le modèle suivant :


Client (NumClient,Nom, Adresse)
Commande (NumCmd, DateCmd, #NumClient)
Lig_com (#NumCmd, #NumArt, QteCmd)
Article (NumArt, Designation, PrixUnit)

1. Créer les quatre tables.


2. Ajouter une contrainte pour que le prix de chaque article doit être supérieur à 2DT.
3. Remplir les tables.

Client

Numclient Nom Adresse

01 Mouhamed Ras Jebel

02 Ahmed Mitline

03 Meher Bizerte

Commande

Numcmd Numclient Datecmd

01 01 06/02/2012

02 03 20/07/2012

03 01 14/01/2013

04 03 23/05/2013

05 02 19/09/2013

5
Atelier Base de données ISET Bizerte

Lig_Com

Numcmd Numart Qtecmd

01 02 3

01 03 2

01 05 1

02 04 2

02 03 2

03 04 5

04 02 10

05 01 1

05 02 1

Article

Numart Designation Prixunit

01 ArtP 300

02 ArtM 200

03 ArtK 100

04 ArtB 250

05 ArtX 100

4. Ajouter l’attribut DateNai à la table Client et remplir ce champ :


Numclient DateNai

01 08/06/1980

02 05/09/1996

03 22/10/1999

6
Atelier Base de données ISET Bizerte

5. Afficher tous les clients de la ville de Bizerte.


6. Modifier les adresses Bizerte à Bt.
7. Supprimer tous les clients d’adresse Bt.
8. Donner le nombre des clients.
9. Donner la liste des clients dont leurs âges est supérieur au client n°2.
10. Afficher les désignations des articles dans l’ordre croissant.
11. Donner pour chaque article commandé, la quantité maximale commandée.

Vous aimerez peut-être aussi