Avec MariaDB UPDATE, vous modifiez les données exis­tantes dans une table. Ainsi, vous assurez des in­for­ma­tions co­hé­rentes et à jour dans votre base de données.

À quoi sert la commande MariaDB UPDATE ?

La commande UPDATE dans MariaDB modifie les valeurs dans une ou plusieurs colonnes d’une table. Con­trai­re­ment aux commandes INSERT ou DELETE, UPDATE ajuste les données exis­tantes sans créer de nouvelles lignes ni supprimer les exis­tantes. Ainsi, cette commande convient à toutes les si­tua­tions où les données changent ré­gu­liè­re­ment, mais où les struc­tures sous-jacentes restent iden­tiques.

Dans les ap­pli­ca­tions basées sur des bases de données, UPDATE est souvent utilisé en arrière-plan, par exemple lors de la mo­di­fi­ca­tion des profils uti­li­sa­teurs ou de la mise à jour des données de tran­sac­tion. Les scénarios typiques incluent la cor­rec­tion d’erreurs de saisie, la mise à jour des stocks ou la dé­fi­ni­tion de valeurs de statut dans un processus de commande. Il est crucial de bien dé­ter­mi­ner quelles colonnes doivent être ajustées. Sinon, la mo­di­fi­ca­tion affectera l’ensemble de la table. Pour cette raison, un filtrage précis est essentiel pour un entretien sécurisé des données avec UPDATE.

Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse

Syntaxe de la commande UPDATE

La syntaxe de base de la commande UPDATE de MariaDB se compose de trois parties : l’in­di­ca­tion de la table, la partie SET avec les colonnes à modifier et une clause WHERE op­tion­nelle pour res­treindre les lignes con­cer­nées.

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

Pa­ra­mètres et arguments dans la commande UPDATE

La commande UPDATE dans MariaDB accepte plusieurs pa­ra­mètres qui vous per­met­tent de contrôler pré­ci­sé­ment quelles données doivent être modifiées et sous quelle forme. Les com­po­sants prin­ci­paux incluent le nom de la table, SET, WHERE, ORDER BY et LIMIT.

  • table_name : nom de la table dans laquelle vous souhaitez modifier des données.
  • SET : définit une ou plusieurs colonnes qui recevront de nouvelles valeurs. Vous pouvez également utiliser des fonctions ou des opé­ra­tions arith­mé­tiques, par exemple SET views = views + 1.
  • WHERE : filtre les lignes con­cer­nées en fonction d’une condition. Sans WHERE, MariaDB modifie toutes les lignes de la table.
  • ORDER BY : trie les lignes avant la mise à jour. C’est par­ti­cu­liè­re­ment pertinent lorsque vous utilisez LIMIT.
  • LIMIT : limite le nombre de lignes modifiées, par exemple aux cinq premiers résultats.
  • Clauses JOIN : dans des scénarios plus complexes, vous pouvez combiner UPDATE avec la commande JOIN pour traiter des données provenant de plusieurs tables. Cette variante permet des mo­di­fi­ca­tions con­di­tion­nelles basées sur le contenu des tables liées.
  • SUBSELECT ou sous-requêtes : Vous pouvez également utiliser des sous-requêtes dans la clause SET ou WHERE pour adopter des valeurs dy­na­miques à partir d’autres tables.
  • Fonctions et opé­ra­teurs : dans SET, vous pouvez utiliser des fonctions, des opé­ra­tions ma­thé­ma­tiques, des con­di­tions (IF()) ou des con­ca­té­na­tions (CONCAT()) pour générer du contenu de manière dynamique.

Exemples d’uti­li­sa­tion de MariaDB UPDATE

La commande UPDATE dans MariaDB est utilisée dans de nombreux scénarios réels. Vous pouvez l’utiliser pour corriger des entrées in­cor­rectes, adapter des in­for­ma­tions chan­geantes ou définir au­to­ma­ti­que­ment de nouvelles valeurs lorsque l’état d’un processus change. Découvrez ci-dessous des exemples pratiques d’uti­li­sa­tion de UPDATE.

Mettre à jour une valeur unique

La clause WHERE garantit qu’un seul en­re­gis­tre­ment spé­ci­fique est affecté. Dans cet exemple, nous modifions l’adresse email du client avec l’ID « 42 ».

UPDATE customers
SET email = 'new.email@example.com'
WHERE customer_id = 42;
sql

Modifier plusieurs colonnes si­mul­ta­né­ment

Ici, nous ajustons à la fois le prix (price) et le stock d’un produit. Dans la colonne stock, la valeur actuelle est réduite de 1, par exemple après une vente.

UPDATE products
SET price = 19.99, stock = stock - 1
WHERE product_id = 1001;
sql

Mettre à jour les valeurs pour plusieurs lignes

Cette requête définit le statut de toutes les commandes sur « shipped » (expédié) lorsqu’une date d’ex­pé­di­tion est ren­seig­née et que le statut est encore « pro­ces­sing » (en trai­te­ment).

UPDATE orders
SET status = 'shipped'
WHERE shipping_date IS NOT NULL AND status = 'processing';
sql

Modifier uni­que­ment un certain nombre de lignes

Ici, nous dé­sac­ti­vons les 100 uti­li­sa­teurs les plus anciens. Grâce à ORDER BY et LIMIT, on peut contrôler quelles lignes seront modifiées en priorité.

UPDATE users
SET active = 0
ORDER BY last_login ASC
LIMIT 100;
sql

MariaDB UPDATE avec la condition IF()

La fonction IF() nous permet de formuler des con­di­tions di­rec­te­ment dans la section SET. Dans l’exemple suivant, MariaDB vérifie le prix de chaque produit. Si le prix dépasse 100, elle fixe la remise (discount) à 15 %, sinon à 5 %.

UPDATE products
SET discount = IF(price > 100, 0.15, 0.05);
sql
Bases de données managées
Des bases de données gérées et sûres
  • Solutions flexibles, adaptées à vos besoins
  • Ar­chi­tec­ture de niveau pro­fes­sion­nel, gérée par des experts
  • Hébergées en Europe, con­for­mé­ment aux normes de pro­tec­tion des données les plus strictes
Aller au menu principal