SQLite - Requête de Mise à Jour

Salut à toi, futur(e) magicien(ne) de la base de données ! Aujourd'hui, nous allons plonger dans le merveilleux monde de SQLite et découvrir l'une de ses formules les plus puissantes - la requête de mise à jour (UPDATE). Imagine que tu es un(e) bibliothécaire et que tu dois modifier les informations sur certaines de tes fiches de livres. C'est exactement ce que fait la requête de mise à jour pour nos bases de données !

SQLite - UPDATE Query

Qu'est-ce qu'une Requête de Mise à Jour ?

Une requête de mise à jour est comme une baguette magique qui nous permet de modifier des enregistrements existants dans un tableau de base de données. Elle est incroyablement utile lorsque l'on a besoin de modifier des données déjà stockées dans notre base.

Pourquoi avons-nous Besoin de Requêtes de Mise à Jour ?

Disons que vous gérez une base de données de librairie. Un jour, vous vous rendez compte que le prix d'un livre a changé. Au lieu de supprimer l'ancien enregistrement et d'en créer un nouveau, vous pouvez simplement mettre à jour l'enregistrement existant avec le nouveau prix. C'est là que les requêtes de mise à jour deviennent pratiques !

Syntaxe

Maintenant, regardons l'incantation... je veux dire, la syntaxe pour une requête de mise à jour :

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Décomposons cela :

  1. UPDATE table_name : C'est là que vous spécifiez quel tableau vous souhaitez mettre à jour.
  2. SET column1 = value1, column2 = value2, ... : Ici, vous énumérez les colonnes que vous souhaitez modifier et leurs nouvelles valeurs.
  3. WHERE condition : C'est facultatif mais très important. Il spécifie quelles lignes doivent être mises à jour ! Si vous omittez cela, toutes les lignes du tableau seront mises à jour !

Exemples

Exemple 1 : Mise à Jour d'une Seule Colonne

Commençons par un exemple simple. Imaginez que nous avons un tableau appelé books avec les colonnes id, title, author, et price. Nous voulons mettre à jour le prix d'un livre.

UPDATE books
SET price = 19.99
WHERE id = 1;

Cette requête mettra à jour le prix à 19.99 pour le livre avec l'id 1.

Exemple 2 : Mise à Jour de Multiple Colonnes

Maintenant, disons que nous voulons mettre à jour à la fois le prix et l'auteur d'un livre :

UPDATE books
SET price = 24.99, author = 'Jane Doe'
WHERE title = 'The Great Adventure';

Cette requête changera le prix à 24.99 et l'auteur en 'Jane Doe' pour le livre intitulé 'The Great Adventure'.

Exemple 3 : Mise à Jour de Toutes les Lignes

Parfois, vous pourriez vouloir mettre à jour toutes les lignes dans un tableau. Soyez prudent avec celle-ci, c'est comme lancer un sort sur toute la bibliothèque !

UPDATE books
SET price = price * 1.1;

Cette requête augmente le prix de tous les livres de 10%. Notez que nous n'avons pas utilisé de clause WHERE, donc elle affecte toutes les lignes.

Exemple 4 : Utilisation d'Expressions dans les Mises à Jour

Vous pouvez également utiliser des expressions dans vos requêtes de mise à jour. Disons que nous voulons donner une réduction à tous les livres chers :

UPDATE books
SET price = price * 0.9
WHERE price > 50;

Cette requête réduit le prix de 10% pour tous les livres qui coûtent plus de 50 dollars.

Exemple 5 : Mise à Jour Basée sur une Autre Table

Vous pouvez même mettre à jour des données en fonction d'informations d'une autre table. Disons que nous avons un tableau sales et que nous voulons mettre à jour la colonne popular dans notre tableau books :

UPDATE books
SET popular = 1
WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);

Cette requête complexe marque les livres comme populaires si ils ont été vendus plus de 100 fois.

Méthodes Communes de Mise à Jour

Voici un tableau des méthodes courantes de mise à jour que vous pourriez trouver utiles :

Méthode Description Exemple
Mise à Jour Simple Met à jour une seule colonne UPDATE books SET price = 19.99 WHERE id = 1;
Mise à Jour Multicolonne Met à jour plusieurs colonnes UPDATE books SET price = 24.99, author = 'Jane Doe' WHERE id = 1;
Mise à Jour de Toutes les Lignes Met à jour toutes les lignes dans un tableau UPDATE books SET price = price * 1.1;
Mise à Jour Conditionnelle Met à jour les lignes qui remplissent une condition UPDATE books SET price = price * 0.9 WHERE price > 50;
Mise à Jour par Sous-requête Met à jour en fonction d'une sous-requête UPDATE books SET popular = 1 WHERE id IN (SELECT book_id FROM sales GROUP BY book_id HAVING COUNT(*) > 100);

Souvenez-vous, jeunes magiciens, avec un grand pouvoir vient une grande responsabilité. Vérifiez toujours votre clause WHERE avant de lancer un sort de mise à jour. Vous ne voudriez pas accidentellement modifier tous les livres de votre bibliothèque lorsque vous aviez l'intention de mettre à jour un seul !

Pratiquez ces sorts... euh, requêtes, et bientôt vous serez un maître de la magie des bases de données. Bon codage, et puissent vos bases de données toujours être à jour !

Credits: Image by storyset