Maison >base de données >tutoriel mysql >Détails de la vue SQL
View
View est une table virtuelle. Contrairement aux tables de données contenues, les vues contiennent uniquement des données récupérées dynamiquement lorsqu'elles sont utilisées par une requête. En tant que vue, elle ne contient aucune colonne ni donnée, seulement une requête.
Pourquoi utiliser les vues ?
1 : Réutilisez les instructions SQL.
2 : Simplifiez les opérations SQL complexes. Après avoir écrit une requête, vous pouvez facilement la réutiliser sans connaître les détails de sa requête sous-jacente.
3 : Utiliser une partie du tableau au lieu du tableau entier.
4 : Protéger les données. Les utilisateurs peuvent avoir accès à des parties spécifiques d'un tableau plutôt qu'à l'ensemble du tableau.
5 : Modifier le format et la représentation des données. Les vues peuvent renvoyer des données représentées et formatées différemment de la table sous-jacente.
Après avoir créé des vues, vous pouvez les utiliser de la même manière que des tableaux. Vous pouvez effectuer des opérations SELECT sur des vues, filtrer et trier des données et joindre des vues à d'autres vues ou tables.
Il est important de savoir qu'une vue est simplement un paramètre permettant de visualiser des données stockées ailleurs. La vue elle-même ne contient aucune donnée, les données renvoyées sont donc récupérées à partir d'autres tables. Lorsque vous ajoutez et modifiez des données dans ces tables, la vue renvoie les données modifiées.
Certaines des règles et restrictions les plus courantes concernant la création et l'utilisation de vues
(1) Comme les tables, les vues doivent porter un nom unique
(2) Pour les appareils portables Là il n'y a pas de limite au nombre de vues
(3) Afin de créer une vue, vous devez disposer de droits d'accès suffisants. Ces autorisations sont généralement accordées par l'administrateur de la base de données.
(4) Les vues peuvent être imbriquées, c'est-à-dire qu'une vue peut être construite à l'aide de requêtes qui récupèrent des données d'autres vues.
(5) De nombreux SGBD interdisent l'utilisation de la clause ORDER BY dans les requêtes de vue.
(6) Certains SGBD nécessitent de nommer toutes les colonnes renvoyées. Si la colonne est un champ calculé, vous devez utiliser des alias.
(7) Les vues ne peuvent pas être indexées et ne peuvent pas avoir de déclencheurs associés ou de valeurs par défaut.
(8) Certains SGBD utilisent les vues comme requêtes en lecture seule, ce qui signifie que les données peuvent être récupérées à partir de la vue, mais que les données ne peuvent pas être écrites dans la table sous-jacente.
(9) Certains SGBD permettent la création de vues qui n'autorisent pas les insertions ou les mises à jour qui font que les lignes n'appartiennent plus à la vue.
Création de vues
Les vues sont créées à l'aide de l'instruction CREATE VIEW.
Utilisez l'instruction DROP pour supprimer une vue, la syntaxe est : DROP VIEW viewname ;
Utilisez des vues pour simplifier les connexions complexes
CREATE VIEW ProductCustomers ASSELECT cust_name,cust_contact,prod_idFROM Customers,Orders, OrderItemsWHERE Customers.cust_id = Order.cust_id AND OrderItems.order_num = Order.order_num;
Ceci instruction Créez une vue appelée ProductCustomers qui joint trois tables pour renvoyer une liste de tous les clients qui ont commandé un produit.
Récupérer les clients ayant commandé le produit RGAN01
SELECT cust_name,cust_contactFROM ProductCustomersWHERE prod_id = 'RGAN01';
用视图重新格式化检索出的数据
创建格式化视图
CREATE VIEW VendorsLocations ASSELECT RTRM(vend_name) || ' ( ' || RTRIM(vend_country) || ' ) ' AS vend_titleFROM Vendors;
用试图过滤不想要的数据
定义CustomerEMailList 视图,过滤没有电子邮件地址的客户。
CREATE VIEW CustomerEMailList ASSELECT cust_id, cust_name, cust_emailFROM CustomersWHERE cust_email IS NOT NULL;
使用视图与计算字段
检索某个特定订单中的物品,计算每种物品的总价格
CREATE VIEW OrderItemExpanded ASSELECT order_num, prod_id, quantity, item_price, quantity*item_price AS expanded_price FROM OrderItems;
根据视图检索订单20008的详细内容
SELECT *FROM OrderItemsExpandedWHERE order_num = 20008;
以上就是SQL视图 详细介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!