0% ont trouvé ce document utile (0 vote)
31 vues16 pages

TP SQL

Ce document décrit diverses commandes SQL pour manipuler des données dans une base de données. Il présente des commandes pour créer et modifier des utilisateurs, des bases de données et des tables. Il explique également des requêtes de sélection, de mise à jour, de suppression, de jointure et la création de vues.

Transféré par

Al Hassane bah
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)
31 vues16 pages

TP SQL

Ce document décrit diverses commandes SQL pour manipuler des données dans une base de données. Il présente des commandes pour créer et modifier des utilisateurs, des bases de données et des tables. Il explique également des requêtes de sélection, de mise à jour, de suppression, de jointure et la création de vues.

Transféré par

Al Hassane bah
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

TP SGBD (COMMANDE SQL)

UCAD
Boubacar DIALLO
L3 TDSI
Al Hassane BAH
MCS

I. Manipulation des données


 Commencer par lister les utilisateurs existants:
select user, host from [Link];
 Vérifier l’utilisateur actuellement connecter:
select user () ;

 Créons un utilisateur avec un mot le passe que vous souhaiter


create user 'BoubacarAlHassane'@'localhost' identified by 'ucad';
 Maintenant connectons nous en tant que root , changeons notre mot de
passe et continuer le TP
alter user 'root'@'localhost' identified by 'root1234@UCAD'

 Créons une base de données nommée L3TDSI


 Créer une table nommée Product et Insérer des données dans cette
dernière et vérifier si l’ insertion est faite par la commande
SELECT * FROM product;
 Ajoutons d’autres lignes à la table et vérifier de nouveau l’insertion :

 Mise à jour du prix dans la table product, affichons le résultat et faisons


la comparaison avec le résultat précédant

UPDATE product SET price = price - (price * 0.05);


SELECT * FROM product;

 Maintenant tapons la commande ROLLBACK;


 Qu’elle remarque faite vous ? Expliquer

Nous remarquons que la colonne price reprend ses valeurs initiales .


D’abord nous avons fait la mise à jour du colonne price en modifiant les
prix et ensuite nous avons tape la commande ROLLBACK et enfin on
constate que la colonne price était revenu a l’initial.
En resume nous pouvons dire que la commande ROLLBACK permet
d’annuler une transaction en cours.

 Mise à jour avec une condition ’where’

UPDATE product
SET price = price - (price * 0.05)
WHERE p_code = 9;
 Supprimons des données dans une table : Tapons les commandes ci-
dessous et expliquons

DELETE FROM product


WHERE p_name = 'Nut';
SELECT * FROM product;
ROLLBACK;
SELECT * FROM product;
 Expliquons

DELETE FROM product


WHERE p_name = 'Nut';
SELECT * FROM product;
ROLLBACK;
SELECT * FROM product;

D’abord nous avons supprimer dans la table product la ligne dont le


p_name est ‘Nut’, afficher tout le contenu de la table product et on voit
que cette ligne a été supprimé, ensuite nous avons annulé la transaction
i-e nous avons annulé la suppression que nous avons fait afin de
restaurer cette ligne supprime.
Enfin nous avons fait une mise à jour dans la table product la ligne dont
le p_name est ‘Nut’ en modifiant le price a NULL.

II. Requête basique : expliquons les requêtes suivantes

 SELECT * FROM product;


Cette requete permet d’afficher tout le contnu de la table product.
 SELECT p_name, price FROM product;
Cette requete affiche le p_name et price de la table product.

 SELECT p_name, price FROM product WHERE price = 15;


Cette requete affiche le p_name de la table product dont le price est 15.

 SELECT p_name, price FROM product WHERE p_name != 'Nut';

Cette requete affiche le price de la table product dont le p_name est different de
‘Nut’ .
 SELECT *
FROM product
WHERE launch_dt >= '2013-03-30'
OR price > 15
AND p_name != 'Nail';

Cette requete affiche tout le contenu de la table product dont le launch_dt est
supperieur ou egal a '2013-03-30' OU le price est supperieur a 15 ET dont le p_name
est different de ‘Nail’ .

 SELECT * FROM product WHERE price BETWEEN 15 AND 25;

Cette requête affiche tout le contenu de la table product dont le price est compris
entre 15 et 25 .
 SELECT *
FROM product
WHERE (launch_dt >= '2013-03-30'
OR price > 15)
AND NOT (p_name != 'Nail');

Cette requete affiche tout le contenu de la table product dont le launch_dt est
supperieur ou egal a '2013-03-30' OU le price est supperieur a 15 ET dont le p_name
est ‘Nail’ .

 SELECT * FROM product WHERE price IN (10, 25, 50);

Cette requete affiche tout le contenu de la table product dont le le price est dans 10,
15 ou 25.

 SELECT * FROM product WHERE p_name LIKE 'N__' OR p_name LIKE 'Sc%';
Cette requete affiche tout le contenu de la table product dont le le p_name
commence par N et se terminant par n’importe quels deux autres caracteres OU dont
le p_name commence par ‘Sc’ et se terminant par n’importe quels autres caracteres
(ou chanie de caractere) .
Quelle est la différence entre ces deux commandes :
SELECT * FROM product WHERE p_name LIKE '%_%';
SELECT * FROM product WHERE p_name LIKE '%\_%';

La difference entre ces deux commandes est que la premiere commande permet d’afficher
tout le contenu de la table product avec tous les enregistrements de la colonne p_name.
Tandisque que la deuxieme commande affiche tout le contenu de la table product dont le
p_name commence par n’importe quel caractere ou chaine de caractere suivi du caractere
speciaux undescore(_) et terminant par n’importe quel caractere ou chaine de caractere.
III. Jointure
Créons ces trois tables, insérons les données, et effectuons les requêtes ci-dessous
 Exécutons les requêtes ci-dessous et expliquons
SELECT c_name,
p_code,
c_order.qty,
c_order.order_dt
FROM c_order
JOIN customer
ON c_order.c_no = customer.c_no;

Nous avons chercher et afficher le c_name de la table customer , le p_code de la


table c_order, le qty de la table c_order, le order_dt de la table c_order dont le c_no
se trouvant dans la table c_order correspond au c_nom se trouvant dans la table
customer. En bref nous avons effectuer une JOINTURE entre la table c_order et
c_customer dont c_order.c_no=customer.c_no.
SELECT c_name,

p_name,

[Link],

o.order_dt

FROM c_order o

JOIN customer c

ON o.c_no = c.c_no

JOIN product p

ON o.p_code = p.p_code;

Nous avons pris le resultat de la jointure obtenu precedemment en


renommant(alias) les tables c_order a ‘o’ , customer a ‘c’, product a ‘p’ et
maintenant chercher et afficher le c_name de la table customer , le p_name de la
table product, le qty de la table c_order, le order_dt de la table c_order dont le
p_code se trouvant dans la table c_order(obtenu de la jointure precedent)
correspond au p_code se trouvant dans la table product. En bref nous avons
effectuer une JOINTURE entre la table du resultat de la jointure obtenu
precedemment et product dont o.p_code=p.p_code.
IV. Les vues
Pour cette partie du TD, on suppose qu’on a une nouvelle colonne ( margin)
dans notre table product.

 Créer la vue ci-dessous et faite une sélection dans cette vue


CREATE VIEW product_v
(p_code , p_name
) AS SELECT p_code, p_name FROM product;

SELECT * FROM product_v WHERE p_name NOT LIKE '%Nut%';


 Expliquer le resultat
Nous avons afficher tout le contenu de la vue ( les collonnes p_code et p_name)
selectionner a partir de la table product dont p_name n’a pas une chaine de
caractere contenant ‘Nut’.
Nous voyons que la VUE product_v recupere le contenu des colonnes p_code et
p_name de product pour en créer ses nouvelles colonnes p_code et p_name.

 Créons une nouvelle vue product_sell_v et faite une sélection sur cette vue
expliquons le résultat
CREATE VIEW product_sell_v
(p_no , p_name, sell_price
) AS
SELECT p_code, p_name, (price + margin) FROM product ;
Nous avons afficher tout le contenu de la vue ( les collonnes p_no , p_name,
sell_price) selectionner a partir de la table product .
Nous voyons que la VUE product_sell_v recupere le contenu des colonnes p_code ,
p_name et fait la somme de la colonne price et margin de product pour en créer ses
nouvelles colonnes respectivement p_no , p_name et sell_price

Vous aimerez peut-être aussi