Maison  >  Article  >  base de données  >  Explication détaillée du rôle des vues MySQL (2) - filtrage des données, calcul des champs et mise à jour des vues

Explication détaillée du rôle des vues MySQL (2) - filtrage des données, calcul des champs et mise à jour des vues

巴扎黑
巴扎黑original
2017-05-17 16:40:123157parcourir

Utilisez des vues pour filtrer les données indésirables

Les vues sont également utiles pour appliquer des clauses WHERE ordinaires. Par exemple, vous pouvez définir une vue de liste de courrier électronique client qui filtre les clients sans adresse e-mail. A cet effet, la déclaration suivante peut être utilisée :

Entrée :

create view customeremaillist as select cust_id,cust_name,cust_email from customers where cust_email is not null;

Analyse : Évidemment, lors de l'envoi d'un e-mail à une liste de diffusion, vous devez exclure les utilisateurs sans adresse e-mail . La clause WHERE filtre ici les lignes avec des valeurs NULL dans la colonne cust_email afin qu'elles ne soient pas récupérées.

Désormais, la vue customeremaillist peut être utilisée comme n'importe quelle autre table.

Entrée :

select * fromcustomeremaillist;

Sortie :

Explication détaillée du rôle des vues MySQL (2) - filtrage des données, calcul des champs et mise à jour des vues

Clause WHERE et clause WHERE si a est utilisée lors de la récupération des données de la vue WHERE clause, les deux ensembles de clauses (l’une dans la vue et l’autre passée à la vue) sont automatiquement combinées.

Utiliser des vues avec des champs calculés

Les vues sont particulièrement utiles pour simplifier l'utilisation des champs calculés. Vous trouverez ci-dessous une instruction SELECT introduite au chapitre 10. Il récupère les articles dans un ordre spécifique, calculant le prix total de chaque article :

Entrée :

select prod_id,quantity,item_price,quantity*item_price as expanded_price from orderitems where order_num = 20005;

Sortie :

Explication détaillée du rôle des vues MySQL (2) - filtrage des données, calcul des champs et mise à jour des vues

Pour le convertir en vue, procédez comme suit :

Saisie :

create view orderitemsexpanded as select prod_id,quantity,item_price,quantity*item_price as expanded_price from orderitems;

Pour récupérer les détails de la commande 20005 (la sortie ci-dessus), procédez comme suit :

Entrée :

select * from orderitemsexpanded where order_num = 20005;

Sortie :

Explication détaillée du rôle des vues MySQL (2) - filtrage des données, calcul des champs et mise à jour des vues

Comme vous pouvez le constater, les vues sont très faciles à créer et à utiliser. Utilisées correctement, les vues peuvent grandement simplifier le traitement de données complexes.


Mise à jour des vues

Toutes les vues jusqu'à présent sont utilisées avec les instructions SELECT. Cependant, les données de la vue peuvent-elles être mises à jour ? La réponse dépend de la situation.

En général, les vues peuvent être mises à jour (c'est-à-dire que INSERT , UPDATE et DELETE peuvent être utilisées dessus). La mise à jour d'une vue met à jour sa table de base (rappelez-vous que la vue elle-même ne contient aucune donnée). Si vous ajoutez ou supprimez des lignes à une vue, vous ajoutez ou supprimez en réalité des lignes à sa table de base.

Cependant, toutes les vues ne sont pas modifiables. Fondamentalement, on peut dire que si MySQL ne peut pas déterminer correctement les données de base en cours de mise à jour, les mises à jour (y compris les insertions et les suppressions) ne sont pas autorisées. Cela signifie en fait que s'il y a les opérations suivantes dans la définition de la vue, la vue ne peut pas être mise à jour :

1. Regroupement (en utilisant GROUP BY et HAVING) ; >

3. Sous-requête ;

4. Union ;

5. > 6.DISTINCT;

7. Colonne Exporter (calculer).

En d'autres termes, les vues de la plupart des exemples de ce chapitre ne peuvent pas être mises à jour. Cela peut sembler une limitation sérieuse, mais ce n'est pas le cas, puisque les vues sont principalement utilisées pour la récupération de données.

Changements possibles Les limitations listées ci-dessus sont correctes à partir de MySQL 5. Cependant, les futures versions de MySQL lèveront probablement certaines restrictions.

Utiliser des vues pour la récupération En général, vous devez utiliser des vues pour la récupération (instructions SELECT) plutôt que pour les mises à jour (INSERT, UPDATE et DELETE).

Résumé :

View est une table virtuelle. Ils ne contiennent pas de données mais des requêtes pour récupérer les données selon les besoins. Les vues fournissent une encapsulation hiérarchique des instructions MySQL SELECT qui peuvent être utilisées pour simplifier le traitement des données et reformater ou protéger les données sous-jacentes.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn