Vous êtes sur la page 1sur 4

Exercice I

Exécuter les opérations suivantes sous MySQL.

1. Se connecter à la base de données

Connexion au serveur MySQL

mysql -u user -h host p password

2. Créer et sélectionner une base

mysql> CREATE DATABASE nomBase ;

mysql> USE nomBase ;

3. Utiliser SHOW pour visualiser la liste des bases de données existantes:

mysql> show databases;

4. Créer une table

mysql> create table magasin ( -> article int(4) unsigned zerofill default '0000' not null, -> fournisseur char(20) default ' ' not null, -> prix double (16,2) default '0.00' not null, -> primary key(article, fournisseur));

5. visualiser les propriétés de la table magasin

mysql> describemagasin;

6. Insérer quelques données dans la table magasin

mysql> insert into magasin values -> (1, 'A', 3.45),(1, 'B',3.99), (2, 'A', 10.99),(3,'B',1.45),(3,'C',1.69),(3,'D',1.25),(4,'D',19.95);

7. Essayer de insérer (1, 'A', 5.35), Commenter

8. Liste les données

mysql> select * from magasin ;

9. Selectionner quelques colonnes

select article, fournisseur from magasin;

10. Compter le nombre d’enregistrements

mysql> select count(*) from magasin ;

11. Trouver la liste des fournisseurs

mysql> select fournisseur from magasin;

12. éliminer la redondance

mysql> select distinct fournisseur from magasin;

13. Calculer quelques operations mathématiques

mysql> select prix*10 from magasin;

14. lister les articles et les fournisseurs lorsque le fournisseur est "A"

mysql> select article,fournisseur from magasin where fournisseur =’A’

15. afficher les enregistrement lorsque les prix sont >= 3.99

mysql> select * from magasin where prix>=3.99 16. Utiliser plus qu’une codition

mysql> select * from magasin where fournisseur = "A" and prix > 3;

17. Utiliser un intevalle

mysql> select * from magasin where fournisseur = "A" and prix between 3 and 5;

18. Supprimer des enregistrements

mysql> delete from magasin where prix < 0;

19. Qu’elle est le prix maximal

SELECT MAX(prix) FROM magasin

20. Qu’elle est l’article le plus cher?

SELECT article, fournisseur, prix FROM magasin WHERE prix=(SELECT MAX(prix) FROM magasin)

21. Qu’elle sont les articles avec les plus bas prix pour chaque fournisseur

select * from magasin

where (article, prix ) in

(select article, min(prix) from magasin group by article)

order by article;

Exercice II

Soit la relation emp des employés d'une entreprise :

emp (nom, num, fonction, nsup, embauche,salaire, comm, ndept)

où num est le numéro de matricule de l'employé (c'est un numéro unique), nsup est le numéro de matricule du supérieur de l'employé. embauche est la date à laquelle l'employé a été embauché. comm est sa commission annuelle. ndept est le numéro du département pour lequel il travaille.

Créer la table emp

Effectuer le saisie de données suivantes :

Nom

Num

Fonction

Nsup

Embauche

Salaire

Com

ndept

Mohamed

10

commercial

45

 

19000

0

30

amin

tamo

15

commercial

   

25000

5

10

ahmed

4

ingénieure

   

20000

0

 

Mohamed

12

ingénieur

   

22250

12

 

Saleh

Dalneil

13

technicien

   

22450

20

 

salma

21

commercial

   

18000

6

10

Mouna

25

technicien

   

26500

8

 

Malek

56

ingénieur

   

16000

0

 

Mario

45

directeur

   

22000

0

10

mac

19

directeur

   

25000

15.8

10

Momtez

11

commercial

   

25050

0

10

Rim

18

ingénieur

   

29000

0

30

Darine

13

ingénieur

   

32000

5.6

30

Dorra

26

commercial

   

12000

0

10

David

2

commercial

   

10000

12

30

Ecrire les requêtes répondant aux questions suivantes. Bien faire attention à utiliser le nom d'attribut indiqué pour chaque attribut résultat calculé par une fonction.

Donner les noms et les départements des employés gagnant entre 20000 et 25000.

Donner les noms et les salaires des employés commerciaux ou ingénieurs.

Donner les noms des employés dont le nom commence par M.

Donner la liste des employés ayant un nom de 4 lettres se terminant par “O”.

Donner les noms des employés du département 30 ayant un salaire supérieur à 25000.

Donner les noms des commerciaux travaillant dans le département 10 et des directeurs.

Donner les noms des employés directeurs ou commerciaux, et travaillant dans le département 10.

Donner tous les employés classés par fonction, et pour chaque fonction classés par salaire décroissant.

Donner la liste des employés ayant une commission (non nulle), classée par commission décroissante.

Donner les noms des personnes embauchées après janvier 1991 (à partir du 1 er février 1991 inclus).

Donner la liste des employés dont la commission est strictement inférieure à 10% du salaire.

Donner les noms des ingénieurs embauchés avant le 1 janvier 1990.

Quelles sont les fonctions ne donnant pas lieu à commission.

Donner les noms et fonctions de chacun. Classer le résultat par fonction puis par nom.

Donner pour chaque commercial son revenu (salaire + commission). On utilisera REVENU comme nom d'attribut.

Donner le salaire annuel de chacun.

Donner la date d’embauche de chaque employé arrondie à l’année (sur 2 chiffres). Nommer ce résultat ANNEE_EMBAUCHE.

Donner la liste de tous les employés dont le nom ressemble (se prononce comme) à 'DUPONT'.

Afficher tous les salaires avec un $ en tête et au moins trois chiffres (dont deux décimales). Nommer ce résultat SALAIRE.

Donner la liste de tous les noms des employés en ayant remplacé les A et les M par des * dans les noms (nommer ce résultat AUTRE_NOM).