


Comment puis-je calculer automatiquement une colonne basée sur une autre colonne dans MySQL ?
Jan 17, 2025 am 07:51 AMCalculer automatiquement une colonne en fonction d'une autre colonne dans MySQL
Dans le monde de la programmation de bases de données, les tables sont la pierre angulaire du stockage des données, mais il est parfois nécessaire de dériver des informations supplémentaires à partir des colonnes existantes. C'est là qu'interviennent les colonnes calculées, offrant un moyen de créer de nouvelles colonnes dont les valeurs sont automatiquement mises à jour en fonction d'une autre colonne.
Paramètres de la base de données
Considérez la forme suivante :
<code>id | value -------------- 1 6 2 70</code>
Énoncé du problème
La tâche consiste à ajouter une colonne appelée « calculé » qui correspond à la moitié de la colonne « valeur ». Cette colonne calculée doit être automatiquement mise à jour lorsque la colonne « valeur » change.
Solution : Générer des colonnes
MySQL 5.7.6 et versions ultérieures introduisent une fonctionnalité appelée « colonnes générées ». Ces colonnes permettent des calculs dynamiques basés sur des colonnes existantes, similaires aux vues, mais faisant partie intégrante du tableau.
Il existe deux types de colonnes générées :
- Virtuel (par défaut) : Calculé à la volée lors de la lecture des enregistrements de la table.
- Stockage : Calculé lorsqu'un nouvel enregistrement est inséré ou mis à jour dans le tableau.
Réussite
Dans cet exemple, nous utiliserons une colonne générée stockée. Voici l'instruction SQL pour l'ajouter :
<code>ALTER TABLE table_name ADD COLUMN calculated AS (value / 2) STORED;</code>
Cela créera une nouvelle colonne appelée « calculé » avec la moitié de la valeur de la colonne « valeur » de chaque ligne.
Avantages et remarques
La génération de colonnes présente les avantages suivants :
- Mise à jour automatique : Les colonnes calculées sont automatiquement mises à jour lorsque la colonne source change, garantissant ainsi que la valeur est toujours exacte.
- Indexable : Les colonnes générées stockées peuvent être utilisées dans le cadre de l'index, améliorant ainsi les performances des requêtes.
- Restriction NOT NULL : Les colonnes générées virtuelles et stockées peuvent avoir une restriction NOT NULL, garantissant l'intégrité des données.
Exemple
Après avoir ajouté la colonne calculée, le tableau ressemblera à ceci :
<code>id | value | calculated ----------------------- 1 6 3 2 70 35</code>
Conclusion
Les colonnes générées constituent un moyen puissant d'ajouter des colonnes calculées à un tableau. En tirant parti de l'option « stockée », il garantit que les colonnes calculées sont automatiquement mises à jour et peuvent être indexées, offrant ainsi une plus grande flexibilité et efficacité dans la gestion des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
