
Mekki MOURADI
Data Analyst
Rabat, Maroc
À Propos
Data Analyst Junior avec une solide expérience en marketing numérique et des compétences approfondies dans l’utilisation de Microsoft Excel, SQL, Tableau Software et Python.
Manipulating Data with SQL


Liens
Compétences & Outils
Description du projet
Apprendre à manipuler la database directement sur pgAdmin 4, notamment :
- La création de tableaux (CREATE IF NOT EXISTS)
- L’insertion de données dans les tableaux (INSERT INTO VALUES)
- La mise à jour des données (UPDATE SET WHERE)
- La suppression de données (DELETE FROM WHERE)
- La suppression de tableaux (DROP TABLE)
Objectifs de l'analyse
- Création de tableaux, insertion de données et mises à jour de celles-ci pour le compte d’une entreprise
Étapes de l'analyse
Explorer la Base de Données


- Création du tableau "product"
CREATE TABLE IF NOT EXISTS product (
prodid VARCHAR PRIMARY KEY,
proddesc VARCHAR,
prodfabcode VARCHAR,
prodcost NUMERIC,
prodintrodate DATE
)

prodid | proddesc | prodfabcode | prodcost | prodintrodate | prodcostupd |
- Insertion des données dans le tableau "product"
INSERT INTO product (prodID, prodDesc, prodFabCode, prodcost, prodIntroDate)
VALUES
(110,'Outdoor Adventure Mini-pack','cv15',12.99,'2018-05-15'),
(220,'Traveler Computer Overnight Bag','cv11',22.1,'2019-01-01'),
(344,'Outdoor Adventure Hiker Pack','cv15',25,'2017-05-30'),
(355,'Outdoor Waterproof Hiker Pack','ny22',22.35,'2018-01-15'),
(400,'About Town Tablet Pack','cv11',12.99,'2018-06-01'),
(420,'About Town Versatile Tote','ny10',6.99,'2017-10-30');
-- Vérification de l'insertion des données
SELECT * FROM product;

prodid | proddesc | prodfabcode | prodcost | prodintrodate |
---|---|---|---|---|
110 | Outdoor Adventure Mini-pack | cv15 | 12.99 | 2018-05-15 |
220 | Traveler Computer Overnight Bag | cv11 | 22.1 | 2019-01-01 |
344 | Outdoor Adventure Hiker Pack | cv15 | 25 | 2017-05-30 |
355 | Outdoor Waterproof Hiker Pack | ny22 | 22.35 | 2018-01-15 |
400 | About Town Tablet Pack | cv11 | 12.99 | 2018-06-01 |
420 | About Town Versatile Tote | ny10 | 6.99 | 2017-10-30 |
- Scénario : les prix d'expédition ont globalement augmenté, entraînant une hausse d'environ 7 % des coûts de production globaux. Mise à jour du tableau reflétant cette augmentation.
UPDATE product
SET prodcost = (prodcost*1.07)
-- Vérification de la modification des données
SELECT * FROM product;

prodid | proddesc | prodfabcode | prodcost | prodintrodate |
---|---|---|---|---|
110 | Outdoor Adventure Mini-pack | cv15 | 13.8993 | 2018-05-15 |
220 | Traveler Computer Overnight Bag | cv11 | 23.647 | 2019-01-01 |
344 | Outdoor Adventure Hiker Pack | cv15 | 26.75 | 2017-05-30 |
355 | Outdoor Waterproof Hiker Pack | ny22 | 23.9145 | 2018-01-15 |
400 | About Town Tablet Pack | cv11 | 13.8993 | 2018-06-01 |
420 | About Town Versatile Tote | ny10 | 7.4793 | 2017-10-30 |
- Scénario : AAA Mercantile a été rachetée par un compétiteur. L'Entreprise a été renommée "Fergus Textile". Mise à jour du tableau reflétant cette modification.
UPDATE suppliers
SET supcompanyname = 'Fergus Textile'
WHERE supcompanyname = 'AAA Mercantile'
-- Vérification de la modification des données
SELECT * FROM suppliers;

supid | supcompanyname | supstate | supemailaddr |
---|---|---|---|
15 | Panda Fabrics, Inc. | MN | dax@pandafab.com |
17 | Keely Company, LLC | OH | andy@keelycollc.com |
25 | Faborganica | CA | dudd@faborganica.com |
22 | Fergus Textile | MN | support@aaamerc.com |
- Batch load : Création du tableau "customer" et insertion des données
CREATE TABLE IF NOT EXISTS customer (
custid INTEGER PRIMARY KEY,
custlastname VARCHAR,
custfirstname VARCHAR,
custdiscount NUMERIC (5,2)
);
INSERT INTO customer
VALUES
(22000, 'Jonas', 'Ricky', 0),
(33000, 'Chow', 'Mickey', 5),
(40000, 'Gagner', 'Evelyn', 5),
(42000, 'Victoria', 'Elvia', 0),
(53000, 'Fagbemi', 'Wana', 5),
(60000, 'Rose', 'Robert John', 5);
-- Vérification de la modification des données
SELECT * FROM customer;

custid | custlastname | custfirstname | custdiscount |
---|---|---|---|
22000 | Jonas | Ricky | 0.00 |
33000 | Chow | Mickey | 5.00 |
40000 | Gagner | Evelyn | 5.00 |
42000 | Victoria | Elvia | 0.00 |
53000 | Fagbemi | Wana | 5.00 |
60000 | Rose | Robert John | 5.00 |
- Scénario : Suppression des clients où "discount = 5"
DELETE FROM customer
WHERE custdiscount = 5;
-- Vérification de la modification des données
SELECT * FROM customer;

custid | custlastname | custfirstname | custdiscount |
---|---|---|---|
22000 | Jonas | Ricky | 0.00 |
42000 | Victoria | Elvia | 0.00 |
- Supprimer le tableau "customer"
DROP TABLE customer