Aller au contenu principal

Requêtes pour modifier

S'entrainer à écrire des requêtes SQL pour modifier des données

Nous allons utiliser la base de données « gestcom ».

  • Adresse du serveur SQL = mariadb.app.ndlpavranches.fr
  • Compte utilisateur = etudiant
  • On saisit ensuite le mot de passe.
Mot de passe d'accès au serveur SQL

Si ce n'est pas déjà fait, il nous faut importer une sauvegarde de cette base de données, à l'aide du fichier gestcom.sql

Télécharger le fichier gestcom.sql

  1. Connectez-vous, au serveur SQL, avec l'invite de commande.

    Commandes à saisir
  2. Créez la base de données gestcom.sql.

    Commandes à saisir
  3. Importez le fichier gestcom.sql.

    Commandes à saisir
  4. Vérifiez que la base de données a bien été importée.

Commandes à saisir

Mission

Écrire 10 requêtes SQL pour répondre aux questions que se pose l'administrateur.


1. Comment afficher le prix du produit 'Cartouche colle polymère' ?

Table des produits llx_product : Cette table contient des informations sur tous les produits de l'entreprise.

  • rowid: L'identifiant unique du produit.
  • ref: La référence du produit (son numéro).
  • label: Le nom du produit.
  • description: La description du produit.
  • price: Le prix HT du produit.
  • price_ttc: Le prix TTC du produit.
  • stock: La quantité de produit en stock.

2. Comment modifier le prix du produit 'Cartouche colle polymère' ?

  • Mettre son nouveau prix HT à 50 €
  • Mettre son nouveau prix TTC à 60 €

Table des produits llx_product : Cette table contient des informations sur tous les produits de l'entreprise.

  • rowid: L'identifiant unique du produit.
  • ref: La référence du produit (son numéro).
  • label: Le nom du produit.
  • description: La description du produit.
  • price: Le prix HT du produit.
  • price_ttc: Le prix TTC du produit.
  • stock: La quantité de produit en stock.

Bonne pratique - Toujours cibler avec WHERE dans UPDATE

UPDATE llx_product SET price = 50 sans WHERE modifie tous les produits. Avant d'exécuter un UPDATE, vérifiez votre filtre avec un SELECT :

SELECT label FROM llx_product WHERE label = 'Cartouche colle polymère';
-- Si le résultat est correct, faites le UPDATE

3. Comment afficher le nouveau prix du produit 'Cartouche colle polymère' ?

SELECT label, price, price_ttc
FROM llx_product
WHERE label = 'Cartouche colle polymère';

4. Comment afficher l'adresse complète (rue, code postal et ville) du client 'GAEC CARPENTIER' ?

Table des clients llx_societe : Cette table contient des informations sur tous les clients de l'entreprise.

  • rowid: L'identifiant unique du client.
  • nom: Le nom du client.
  • address: L'adresse du client.
  • zip: Le code postal du client.
  • town: La ville du client.
  • country: Le pays du client.
  • phone: Le numéro de téléphone du client.
  • email: L'adresse e-mail du client.

5. Comment modifier l'adresse du client 'GAEC CARPENTIER' ?

  • Mettre sa nouvelle rue au : 17, boulevard Charles de Gaulle

Table des clients llx_societe : Cette table contient des informations sur tous les clients de l'entreprise.

  • rowid: L'identifiant unique du client.
  • nom: Le nom du client.
  • address: L'adresse du client.
  • zip: Le code postal du client.
  • town: La ville du client.
  • country: Le pays du client.
  • phone: Le numéro de téléphone du client.
  • email: L'adresse e-mail du client.

6. Comment afficher la nouvelle adresse du client 'GAEC CARPENTIER' ?

SELECT nom, address, zip, town
FROM llx_societe
WHERE nom = 'GAEC CARPENTIER';

7. Comment afficher la date de la facture n° FA220022 ?

Table des factures llx_facture : Cette table contient des informations sur toutes les factures émises par l'entreprise.

  • rowid: L'identifiant unique de la facture.
  • ref: La référence de la facture (son numéro).
  • fk_soc: L'identifiant du client à qui la facture a été émise.
  • datef: La date de la facture.
  • total_ht: Le total de la facture hors taxes.
  • total_ttc: Le total de la facture toutes taxes comprises.

8. Comment modifier la date de la facture n° FA220022 ?

  • Mettre sa nouvelle date au : 23 août 2022

Table des factures llx_facture : Cette table contient des informations sur toutes les factures émises par l'entreprise.

  • rowid: L'identifiant unique de la facture.
  • ref: La référence de la facture (son numéro).
  • fk_soc: L'identifiant du client à qui la facture a été émise.
  • datef: La date de la facture.
  • total_ht: Le total de la facture hors taxes.
  • total_ttc: Le total de la facture toutes taxes comprises.

Bonne pratique - Format des dates en SQL

Les dates SQL s'écrivent au format 'AAAA-MM-JJ' (ISO 8601). 23 août 2022 → '2022-08-23'. 1er janvier 2000 → '2000-01-01'. Ce format évite toute ambiguïté entre conventions française (JJ/MM/AAAA) et anglaise (MM/DD/YYYY).

Comment afficher la nouvelle date de la facture n° FA220022 ?

SELECT ref, datef
FROM llx_facture
WHERE ref = 'FA220022';

9. Comment ajouter le produit 'Jeu vidéo' à 100 € HT (120 € TTC) ?

Table des produits llx_product : Cette table contient des informations sur tous les produits de l'entreprise.

  • rowid: L'identifiant unique du produit.
  • ref: La référence du produit (son numéro).
  • label: Le nom du produit.
  • description: La description du produit.
  • price: Le prix HT du produit.
  • price_ttc: Le prix TTC du produit.
  • stock: La quantité de produit en stock.
  1. Vérifier que le produit n'existe pas déjà :
SELECT label, price, price_ttc FROM llx_product WHERE label = 'Jeu vidéo';
  1. Ajouter le produit :
  1. Vérifier que le produit a bien été ajouté :
SELECT label, price, price_ttc FROM llx_product WHERE label = 'Jeu vidéo';

10. Comment augmenter de 10% le prix de tous les produits ?

Table des produits llx_product : Cette table contient des informations sur tous les produits de l'entreprise.

  • rowid: L'identifiant unique du produit.
  • ref: La référence du produit (son numéro).
  • label: Le nom du produit.
  • description: La description du produit.
  • price: Le prix HT du produit.
  • price_ttc: Le prix TTC du produit.
  • stock: La quantité de produit en stock.
  1. Consulter les prix des produits avant la modification :
SELECT label, price, price_ttc FROM llx_product;
  1. Augmenter de 10% le prix de tous les produits :

Bonne pratique - Tester un UPDATE massif avec SELECT d'abord

Un UPDATE sans WHERE modifie toutes les lignes. Avant de l'exécuter :

  1. Faites d'abord un SELECT pour vérifier les données actuelles.
  2. Sur une base de production, faites une sauvegarde avant.
  3. Testez sur une seule ligne d'abord : UPDATE llx_product SET price = price * 1.1 WHERE rowid = 1.
  4. Si le résultat est correct, exécutez sans WHERE.
  1. Vérifier que les prix ont bien été modifiés :
SELECT label, price, price_ttc FROM llx_product;

Test de mémorisation/compréhension


A quoi sert la commande SQL 'UPDATE' ?


Comment modifier le prix d'un produit spécifique ?