0% found this document useful (0 votes)
11 views9 pages

tp1 Devoir 1

The document outlines the creation of a database for managing orders, including tables for clients, orders, products, and order lines with relevant fields and relationships. It includes SQL commands for inserting data into these tables as well as various select, update, and delete operations to manipulate the data. Additionally, it provides queries for retrieving specific information based on conditions related to clients and orders.

Uploaded by

ayoub ra fa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views9 pages

tp1 Devoir 1

The document outlines the creation of a database for managing orders, including tables for clients, orders, products, and order lines with relevant fields and relationships. It includes SQL commands for inserting data into these tables as well as various select, update, and delete operations to manipulate the data. Additionally, it provides queries for retrieving specific information based on conditions related to clients and orders.

Uploaded by

ayoub ra fa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

--------------------------Tp1

1--CREATE DATABASE BD_gestion_des_commandes;

2--CREATE TABLE clients (

cin TEXT(20) PRIMARY KEY,

nom TEXT(20),

prenom TEXT(20),

ville TEXT(20),

catg ENUM('C1','C2','C3')

);

CREATE TABLE commandes (

num_cmd INT AUTO_INCREMENT PRIMARY KEY,

cin TEXT(20),

date DATETIME,

FOREIGN KEY (cin) REFERENCES clients(cin)

);

CREATE TABLE produits (

ref TEXT(20) PRIMARY KEY,

desg TEXT,

pu DECIMAL(10,2)

);

CREATE TABLE lignes (

num_cmd INT,

ref TEXT(20),

q INT,

PRIMARY KEY(num_cmd, ref),

FOREIGN KEY (num_cmd) REFERENCES commandes(num_cmd),

FOREIGN KEY (ref) REFERENCES produits(ref)

);
4-

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('A100', 'Amani', 'Mohamed', 'Casablanca', 'C1');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('B200', 'Sellami', 'Amine', 'Rabat', 'C1');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('C300', 'Asmour', 'Jalil', 'Agadir', 'C3');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('D400', 'Tounsi', 'Mostafa', 'Casablanca', 'C2');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('E500', 'Kalami', 'Samira', 'Fes', 'C3');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('F600', 'Alami', 'Sanaa', 'Casablanca', 'C2');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('G700', 'Mounir', 'Hamid', 'Casablanca', 'C1');

INSERT INTO clients (cin, nom, prenom, ville, catg)

VALUES ('H800', 'Amine', 'Soufiane', 'Rabat', 'C2');

/////////////////////////////////////

INSERT INTO commandes (num_cmd, cin, date)

VALUES (1, 'A100', '2004-01-01');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (2, 'A100', '2004-02-01');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (3, 'A100', '2004-03-01');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (4, 'B200', '2004-04-15');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (5, 'B200', '2004-05-15');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (6, 'B200', '2004-06-15');

INSERT INTO commandes (num_cmd, cin, date)


VALUES (7, 'C300', '2004-07-10');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (8, 'C300', '2004-09-25');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (9, 'D400', '2004-10-10');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (10, 'E500', '2004-10-25');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (11, 'F600', '2004-11-11');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (12, 'F600', '2004-12-12');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (13, 'G700', '2004-12-15');

INSERT INTO commandes (num_cmd, cin, date)

VALUES (14, 'H800', '2004-12-25');

/////////////////////////////////////

INSERT INTO produits (ref, desg, pu)

VALUES ('PRD01', 'Claviers', 250);

INSERT INTO produits (ref, desg, pu)

VALUES ('PRD02', 'Ecrans', 700);

INSERT INTO produits (ref, desg, pu)

VALUES ('PRD03', 'Souris', 100);

INSERT INTO produits (ref, desg, pu)

VALUES ('PRD04', 'Haut-parleurs', 100);

INSERT INTO produits (ref, desg, pu)

VALUES ('PRD05', 'Imprimantes', 1200);

/////////////////////////////////////

INSERT INTO lignes (num_cmd, ref, q)

VALUES (1, 'PRD01', 10);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (1, 'PRD02', 2);


INSERT INTO lignes (num_cmd, ref, q)

VALUES (2, 'PRD02', 5);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (2, 'PRD03', 20);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (3, 'PRD04', 30);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (4, 'PRD04', 15);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (5, 'PRD04', 20);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (6, 'PRD05', 10);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (7, 'PRD05', 20);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (8, 'PRD01', 5);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (9, 'PRD01', 5);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (10, 'PRD01', 1);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (11, 'PRD02', 3);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (11, 'PRD04', 2);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (12, 'PRD03', 25);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (12, 'PRD05', 10);

INSERT INTO lignes (num_cmd, ref, q)

VALUES (13, 'PRD05', 5);

INSERT INTO lignes (num_cmd, ref, q)


VALUES (14, 'PRD03', 6);

--------------------------Tp2

1--SELECT Nom, Prenom

FROM clients;

2--SELECT Cin, CONCAT(Nom, ' ', Prenom) AS "Nom et Prenom", Ville

FROM clients

ORDER BY Nom, Prenom ASC;

3--SELECT *

FROM clients

WHERE Ville = 'Casablanca';

DELETE FROM clients

WHERE Ville = 'Casablanca';

4--SELECT *

FROM lignes

WHERE q > 25;

UPDATE lignes

SET q = 100

WHERE q > 25;

DELETE FROM lignes

WHERE q > 25;

5—SELECT *

FROM lignes

WHERE ref = 'PRD01' AND q > 20;

UPDATE lignes
SET q = 100

WHERE ref = 'PRD01' AND q > 20;

DELETE FROM lignes

WHERE ref = 'PRD01' AND q > 20;

6--SELECT *

FROM lignes

WHERE ref = 'PRD03' OR q > 20;

DELETE FROM lignes

WHERE ref = 'PRD03' AND q > 20;

7—SELECT *

FROM lignes

WHERE (ref = 'PRD03' AND q > 20) OR num_cmd > 5;

UPDATE lignes

SET q = 100

WHERE (ref = 'PRD03' AND q > 20) OR num_cmd > 5;

DELETE FROM lignes

WHERE (ref = 'PRD03' AND q > 20) OR num_cmd > 5;

8—SELECT *

FROM commandes

WHERE num_cmd BETWEEN 3 AND 10;

UPDATE commandes

SET date = 'YYYY-MM-DD'

WHERE num_cmd BETWEEN 3 AND 10;


DELETE FROM commandes

WHERE num_cmd BETWEEN 3 AND 10;

9—SELECT *

FROM clients

WHERE ville IN ('Casablanca', 'Rabat');

DELETE FROM clients

WHERE ville IN ('Casablanca', 'Rabat');

UPDATE clients

SET ville = 'Khnifra'

WHERE ville = 'Casablanca';

10—SELECT *

FROM clients

WHERE nom LIKE 'A%';

UPDATE clients

SET ville = 'Tanger'

WHERE nom LIKE 'A%';

11--SELECT *

FROM clients

WHERE nom NOT LIKE 'A%';

DELETE FROM clients

WHERE nom NOT LIKE 'A%';

12—SELECT *
FROM clients

WHERE ville = 'Casablanca'

ORDER BY nom DESC;

13—SELECT cin, nom, ville

FROM clients

WHERE nom LIKE 'S%' AND prenom LIKE '%M%' AND (ville = 'casa' OR ville = 'rabat');

14—SELECT cin, nom, ville

FROM clients

WHERE nom NOT LIKE 'S%' AND ville in ('casa','rabat','Mohammedia','Fès');

15—SELECT num_cmd, date

FROM commandes

WHERE date > '2008-01-15';

16--SELECT num_cmd, date

FROM commandes

WHERE date BETWEEN '2008-01-10' AND '2008-06-15';

DELETE FROM commandes

WHERE date BETWEEN '2008-01-10' AND '2008-06-15';

17—SELECT num_cmd, date

FROM commandes

WHERE YEAR(date) = 2008;

18—SELECT num_cmd, date

FROM commandes

WHERE YEAR(date) = 2008 AND MONTH(date) < 5 AND DAY(date) < 15;
19—SELECT num_cmd, date

FROM commandes

WHERE YEAR(date) = 2008 AND (MONTH(date) = 3 OR MONTH(date) = 5 OR MONTH(date) = 6);

20—SELECT num_cmd, date

FROM commandes

WHERE YEAR(date) = 2008 AND DAY(date) = 1;

21—SELECT num_cmd, date

FROM commandes

WHERE MONTH(date) = MONTH(CURRENT_DATE);

22--SELECT num_cmd, date, DATEDIFF(YEAR, date, CURRENT_DATE) AS "Durée en années",

DATEDIFF(QUARTER, date, CURRENT_DATE) AS "Durée en trimestres",

DATEDIFF(MONTH, date, CURRENT_DATE) AS "Durée en mois",

DATEDIFF(WEEK, date, CURRENT_DATE) AS "Durée en semaines",

DATEDIFF(DAY, date, CURRENT_DATE) AS "Durée en jours",

DATEDIFF(HOUR, date, CURRENT_DATE) AS "Durée en heures",

DATEDIFF(MINUTE, date, CURRENT_DATE) AS "Durée en minutes",

DATEDIFF(SECOND, date, CURRENT_DATE) AS "Durée en secondes"

FROM commandes

You might also like