Maison > Article > base de données > Introduction à l'utilisation des vues dans MYSQL (exemple de code)
Cet article vous apporte une introduction à l'utilisation des vues dans MYSQL (exemples de code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. aide.
1. Qu'est-ce qu'une vue ?
Exécuter un SQL et enregistrer l'ensemble de résultats dans une table virtuelle
(Recommandations associées : Tutoriel MySQL)
2. Pourquoi utiliser les vues
Réutiliser les instructions SQL
Simplifiez les requêtes SQL et récupérez rapidement les données
Il suffit de connaître la structure partielle de la table
Protéger les données selon une autorisation spécifique
Modifiez le format et la présentation des données. Les vues peuvent renvoyer des données différentes de la représentation et du format de la table sous-jacente.
Notes
• Une fois la vue créée, elle peut être utilisée essentiellement de la même manière qu'une table (requête, filtre, tri des données, interaction avec d'autres vues ou Lien, (Ajouter, Mettre à jour))
• Une vue est simplement une fonction permettant de visualiser des données stockées ailleurs. Elle ne contient pas de données elle-même et les données renvoyées sont également récupérées à partir d'autres tables.
• Étant donné que la vue elle-même ne contient pas de données, l'indexation de plusieurs jointures ou imbrications de tables peut entraîner des problèmes de performances, qui doivent être testés
Règles et restrictions
Le nom de la table doit être unique (avec d'autres vues et tables)
Aucune restriction sur la création de vues
Suffisant autorisations
Les vues peuvent être imbriquées et une vue peut être construite en interrogeant à partir d'autres vues
Si la vue et la requête du view ont order by, l'ordre dans la vue by sera écrasé
Les vues ne peuvent pas être indexées
Les vues peuvent être utilisées avec des tables
4. Utilisez la vue
pour créer une vue créer une vue
pour afficher les instructions qui créent la vue. Afficher créer la vue nom de vue
Supprimer la vue supprimer la vue nom de vue
Mettre à jour la vue, 1⃣️ Supprimer d'abord puis créer 2⃣️ Utiliser directement créer ou remplacer la vue
Utilisez des vues pour simplifier les requêtes de jointure complexes
5. Utilisez des vues pour simplifier les requêtes de jointure complexes
Créer une vue
CREATE VIEW productcustomers AS SELECT cust_name, cust_contact, prod_id FROM customers, orders, orderitems WHERE customers.cust_id = orders.cust_id AND orderitems.order_num = orders.order_num
Utiliser une vue
SELECT cust_name, cust_contact FROM productcustomers WHERE prod_id = 'TNT2';
Utiliser la vue pour reformater les données récupérées.
select concat (rtrim(vend_name) , '(',rtrim(vend_country),')') as vend_title from vendors order by vend_name;Si vous utilisez fréquemment ce format, vous pouvez créer une vue
CREATE VIEW vendorlocations AS SELECT concat ( rtrim( vend_name ), '(', rtrim( vend_country ), ')' ) AS vend_title FROM vendors ORDER BY vend_name;Les résultats peuvent être obtenus directement via la requête de vue
SELECT * FROM vendorlocations;7. Utilisez les vues pour filtrer les données indésirables
create view custmeremaillist AS SELECT cust_id ,cust_name,cust_email from customers where cust_email is not NULL;Utilisez les vues directement
SELECT * from custmeremaillist ;
Utilisez les vues et les champs calculés
Requête mysqlSELECT prod_id, quantity, item_price, quantity * item_price AS expanded_price FROM orderitems WHERE order_num=20005;Créer une vue
CREATE VIEW orderitemsexpanded AS SELECT order_num, prod_id, quantity, item_price, quantity * item_price AS expanded_price FROM orderitems WHERE order_num=20005;Utiliser la vue
SELECT * FROM orderitemsexpanded WHERE order_num=20005;
Mettre à jour la vue
Habituellement, la vue peut être mise à jour (insérer, mettre à jour, supprimer). La mise à jour de la vue mettra à jour la table de base. La vue ne peut pas être mise à jour si elle possède les définitions suivantes.1. 分组(group by 和 having) 2. 联结 3. 自查询 4. 并 5. 聚合函数(min()、count()、sum()等) 6. Distinct 7. 导出(计算)列Il est donc préférable d'utiliser la requête de sélection directement pour la vue.
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!