Vous êtes sur la page 1sur 10

Compte

rendu :
Ateliers
MySQL

Réalisé Par : Amine JRAIF Prof : Mr LAMII Nabil

Master IMI 2019-2020


Atelier1 :

1)-Afficher juste la ligne du livre « into the wild »


select * from livre where NOM_LIVRE =”into the
wild”;
2)-Afficher juste les deux lignes de “AOUITA” et “
COEALHO”
select * from auteur
where NOM="AOUITA" || NOM="COELHO";

3)-afficher les auteurs dans leurs id_auteur


inférieur de 10
select * from auteur
where ID_AUTEUR<10;
4)-afficher tous les auteurs sauf AHMED SEFRIOUI
select * from auteur
where PRENOM != "AHMED";
select NOM,AGE from auteur ;

5)-afficher le nom et l’âge des auteurs dont leurs id_auteur et entre 5


et 15

select NOM,AGE from auteur


where ID_AUTEUR between 5 and 15 ;

6)-afficher les lignes des auteurs « el alami » « abika » « DE


BOTTON »
select * from auteur
where PRENOM='EL ALAMI'||
PRENOM='ABIKA' || NOM='DE BOTTON';
Atelier 2 :

Use base_de_données ;
UPDATE auteur SET CODE_LIVRE =6 where CODE_LIVRE =7;
select * from auteur;
DELETE from livre where CODE_LIVRE =7;
select * from livre ;

UPDATE auteur SET NOM ="LHAMDAOUIA" ,PRENOM="LHAJJA" where ID_AUTEUR


=6;
select * from auteur ;
insert into auteur values (17,2,"EIICHIRO","ODA",35),
(18,2,"KISHIMOTO","MASASHI",36);
select * from auteur ;
ALTER TABLE auteur ADD COLUMN citation LONGTEXT;
select * from auteur ;
UPDATE auteur SET citation ="La mort n’était bonne que parce qu’elle supprimait l’être d’un
coup, pour toujours. Oh ! dormir comme les pierres, rentrer dans l’argile, n’être plus !" where
ID_AUTEUR =7;
select * from auteur ;
Atelier 3:

1)-afficher la jointure des deux tableaux « livre »et « auteur » 

use base_de_données;
select*
from livre inner join auteur on auteur.CODE_LIVRE=livre.CODE_LIVRE;

2)-afficher le nom et l’édition du livre emprunté par « DE BOTTON »


select livre.NOM_LIVRE,livre.EDITION
from livre inner join auteur on auteur.CODE_LIVRE=livre.CODE_LIVRE
where auteur.NOM="DE BOTTON";

3)-afficher les auteurs qui ont emprunté le livre « into the wild ».
select*
from auteur inner join livre on auteur.CODE_LIVRE=livre.CODE_LIVRE
where livre.NOM_LIVRE="into the wild";
4)-afficher les champs « nom_livre » et « édition » des livres empruntés par  « EL FAD », 
« LHAJJA »,  «  ZOLA » avec un ordre alphabétique

select livre.NOM_LIVRE,livre.EDITION
from livre inner join auteur on auteur.CODE_LIVRE=livre.CODE_LIVRE
where auteur.NOM="EL FAD"||auteur.NOM="LHAMDAOUIA"||auteur.NOM="ZOLA"
order by livre.NOM_LIVRE;

5)-afficher les lignes des auteurs dont leurs « id_auteur » entre 5 et 16 et ils ont empruntés les
deux livres  « le monde de sophie » et « seven »
select*
from auteur inner join livre on auteur.CODE_LIVRE=livre.CODE_LIVRE
where auteur.ID_AUTEUR between 5 and 16
and livre.NOM_LIVRE="SEVEN"||livre.NOM_LIVRE="LE MONDE DE SOPHIE";
Atelier 4 :

use base_de_données;
select max(ID_AUTEUR)
from(
select auteur.ID_AUTEUR
from auteur
where CODE_LIVRE=2) as max;
select
min(EDITION)
from(
select
livre.EDITION
from livre inner
join auteur on
auteur.CODE_LIVRE=livre.CODE_LIVRE
where auteur.NOM="EL FAD"||auteur.PRENOM="EL ALAMI"||
auteur.PRENOM="VIOLITA"||auteur.NOM="LHAMDAOUIA") as min;
select count(ID_AUTEUR)
from(
select auteur.ID_AUTEUR from auteur
inner join livre on auteur.CODE_LIVRE=livre.CODE_LIVRE
where auteur.ID_AUTEUR between 5 and 16
and livre.NOM_LIVRE="SEVEN"||livre.NOM_LIVRE="LE MONDE DE SOPHIE")as count;

select
* from
livre union select ID_AUTEUR,CODE_LIVRE,NOM,PRENOM from auteur order by
CODE_LIVRE;

alter table auteur add column DATE_EMPRUNT date;


alter table auteur add column DATE_EMPRUNT date;
update auteur set DATE_EMPRUNT = '2016-03-27' where ID_AUTEUR = 1;
update auteur set DATE_EMPRUNT = '2013-05-20' where id_auteur = 2;
update auteur set DATE_EMPRUNT = '2018-04-10' where ID_AUTEUR = 3;
update auteur set DATE_EMPRUNT = '2013-02-10' where ID_AUTEUR = 4;
update auteur set DATE_EMPRUNT = '2015-03-17' where ID_AUTEUR = 5;
update auteur set DATE_EMPRUNT = '2010-08-16'where ID_AUTEUR = 6;
update auteur set DATE_EMPRUNT = '2016-02-13' where ID_AUTEUR = 7;
update auteur set DATE_EMPRUNT = '2013-10-04' where ID_AUTEUR = 8;
update auteur set DATE_EMPRUNT = '2010-06-02' where ID_AUTEUR = 9;
update auteur set DATE_EMPRUNT = '2016-02-04' where ID_AUTEUR = 10;
update auteur set DATE_EMPRUNT = '2018-05-04' where ID_AUTEUR = 11;
update auteur set DATE_EMPRUNT = '2020-02-18' where ID_AUTEUR = 12;
update auteur set DATE_EMPRUNT = '2017-03-26' where ID_AUTEUR = 13;
update auteur set DATE_EMPRUNT = '2016-03-27' where ID_AUTEUR = 14;
update auteur set DATE_EMPRUNT = '2013-05-20' where ID_AUTEUR = 15;
update auteur set DATE_EMPRUNT = '2018-04-10' where ID_AUTEUR = 16;
update auteur set DATE_EMPRUNT = '2013-02-10' where ID_AUTEUR = 17;
update auteur set DATE_EMPRUNT = '2015-03-17' where ID_AUTEUR = 18;
ATELIER 5

1- SELECT ID_AUTEUR, CODE_LIVRE, NOM, PRENOM FROM auteur


UNION
SELECT * FROM livre;

2- SELECT ID_AUTEUR, CODE_LIVRE, NOM, PRENOM FROM auteur


UNION
SELECT * FROM livre ORDER BY CODE_LIVRE;

ATELIER 6
1- ALTER TABLE `base_de_donnees`.`auteur`
ADD COLUMN `DATE_EMPRUNT` DATE NULL AFTER `CITATION`;

2 - Select year(DATE_EMPRUNT) from auteur limit 3 ; (offset 3 )

select nom_livre,DATE_EMPRUNT from livre


inner join auteur on auteur.CODE_LIVRE=livre.CODE_LIVRE
where month(date_emprunt)= 2 or month(date_emprunt)=3;

ATELIER 7
delimiter $$
create trigger before_insert_auteur before insert
on auteur for each row
begin
if new.date_emprunt is null
then update auteur

set new.date_emprunt=now();
end if;
end $$