From 2037163852b3e256a5d64d66dd16d0702e098b78 Mon Sep 17 00:00:00 2001 From: medina5 Date: Wed, 5 Nov 2025 12:59:36 +0100 Subject: [PATCH] tp2b --- td1/Script-10.sql | 81 +++++++++++++++++++++++++++++++++++++++++++++++ td1/Script-8.sql | 11 +++++++ tp2.md | 70 ---------------------------------------- tp2b.md | 69 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 161 insertions(+), 70 deletions(-) create mode 100644 td1/Script-10.sql create mode 100644 td1/Script-8.sql create mode 100644 tp2b.md diff --git a/td1/Script-10.sql b/td1/Script-10.sql new file mode 100644 index 0000000..0f0d9f2 --- /dev/null +++ b/td1/Script-10.sql @@ -0,0 +1,81 @@ +-- Ajouter une société +-- Il faut mettre TOUTES les colonnes id et nom +-- dans l'ordre +insert into societe values (1, 'UPS'); + +-- Plusieurs ligne en une seule commande +-- Je peux spécifier qu'une seule colonne (ville) +-- id est alors AUTO incrementé 1, 2, 3, 4, ... +INSERT into entrepot (ville) values + ('Saint Dié'), + ('Paris'), + ('Lyon'), + ('Marseille'); + +-- supprimer TOUS les entrepots dont l'id > 4 +DELETE FROM entrepot WHERE id > 4; + +insert INTO chauffeur (id, nom) values +(1, 'Albert'), +(2, 'Samia'), +(3, 'Samy'); + +-- Je n'ai pas encore les permis +insert into camion (immatriculation, marque, + capacite) values +('FR-234-PO', 'Volvo', 44), +('EU-324-FE', 'Renault', 35), +('DF-463-VD', 'Mercedes', 44), +('CD-333-LW', 'Volvo', 35); + + +insert into camion (immatriculation, marque, + capacite) values +('BG-468-VS', 'Iveco', 20); + +insert into permis (categorie, poids_maximum) +values + ('A', 0.75), + ('B', 3.5), + ('C', 35), + ('D', 44); + +-- Mise à jour individuelle suivant la clé primaire +-- (primary key) +update camion set permis = 'D' + WHERE immatriculation = 'FR-234-PO'; + +-- Mise à jour de plusieurs ligne suivant la capacité +update camion set permis = 'D' + WHERE capacite = 44; + +update camion set permis = 'C' + WHERE capacite = 35; + +insert into examen (numero, date, + permis, chauffeur_id) values +(11156, '2020-04-20', 'A', 1), +(98212, '2023-06-13', 'B', 1), +(66874, '2022-10-21', 'C', 2); + + +insert into transport values +(1, '2025-09-20', 'FR-234-PO', 2, 1, 3); + + +insert into transport values +(2, '2030-09-20', 'ZZ-000-ZZ', 20, 10, 300); + + +-- Activer le contrôle des clés étrangères +PRAGMA foreign_keys = ON; + +PRAGMA foreign_keys; + +UPDATE camion set permis = 'Z' +WHERE capacite > 30; + + + + + diff --git a/td1/Script-8.sql b/td1/Script-8.sql new file mode 100644 index 0000000..ec0ae68 --- /dev/null +++ b/td1/Script-8.sql @@ -0,0 +1,11 @@ +-- * = toutes les colonnes +select * from entrepot + +-- where filtre sur la marque +select * from camion + where marque = 'Volvo' + +-- like recherche comme % n'importe quels caractères +select * from chauffeur + where nom like 'Sam%' + \ No newline at end of file diff --git a/tp2.md b/tp2.md index 0f17239..b564d24 100644 --- a/tp2.md +++ b/tp2.md @@ -379,73 +379,3 @@ Utilisation de `distinct` pour supprimer les doublons. ``` Attention l'égalité est stricte sur FirstName et LastName (respect des majuscules / minuscules) - -## Utilisation des dates - -### 12. Recette après le 01/05/2013 - -```sql - -``` - -### 13. Recette entre le 15/04/2012 et le 20/06/2012 - -```sql - -``` - -### 14. Recette du mois de février 2012 - -```sql - -``` - -STRFTIME (string from datetime) permet de formater au format de texte un date. Le format est complètement libre et personnalisable. - -### 15. Recettes par mois - -```sql - -``` - -### 16. Recette de l'année 2013 - -```sql - -``` -## Recherche sur le texte - -### 17. Liste des pistes qui contiennent le mot Love - -```sql - -``` -L'opérateur LIKE ne tient pas compte de la différence minuscule/majuscule - -### 18. Liste des pistes qui contiennent les lettres Sun - -```sql - -``` - -### 19. Liste des pistes qui contiennent le mot Sun - -```sql - -``` - -## Cohérence - -### 20. Le total de chaque facture est il juste ? - -```sql - -``` - -ou en utilisant ROUND : HAVING i.Total <> Round(somme,2) - -### 21. Existe t il des pistes dont le prix unitaire a évolué ? - -```sql - -``` diff --git a/tp2b.md b/tp2b.md new file mode 100644 index 0000000..c6af8af --- /dev/null +++ b/tp2b.md @@ -0,0 +1,69 @@ +## Utilisation des dates + +### 12. Recette après le 01/05/2013 + +```sql + +``` + +### 13. Recette entre le 15/04/2012 et le 20/06/2012 + +```sql + +``` + +### 14. Recette du mois de février 2012 + +```sql + +``` + +STRFTIME (string from datetime) permet de formater au format de texte un date. Le format est complètement libre et personnalisable. + +### 15. Recettes par mois + +```sql + +``` + +### 16. Recette de l'année 2013 + +```sql + +``` +## Recherche sur le texte + +### 17. Liste des pistes qui contiennent le mot Love + +```sql + +``` +L'opérateur LIKE ne tient pas compte de la différence minuscule/majuscule + +### 18. Liste des pistes qui contiennent les lettres Sun + +```sql + +``` + +### 19. Liste des pistes qui contiennent le mot Sun + +```sql + +``` + +## Cohérence + +### 20. Le total de chaque facture est il juste ? + +```sql + +``` + +ou en utilisant ROUND : HAVING i.Total <> Round(somme,2) + +### 21. Existe t il des pistes dont le prix unitaire a évolué ? + +```sql + +```