Maison > base de données > tutoriel mysql > Introduction à l'utilisation des vues dans MYSQL (exemple de code)

Introduction à l'utilisation des vues dans MYSQL (exemple de code)

不言
Libérer: 2019-02-27 13:52:43
avant
3031 Les gens l'ont consulté

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

  1. Réutiliser les instructions SQL

  2. Simplifiez les requêtes SQL et récupérez rapidement les données

  3. Il suffit de connaître la structure partielle de la table

  4. Protéger les données selon une autorisation spécifique

  5. 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

  1. Le nom de la table doit être unique (avec d'autres vues et tables)

  2. Aucune restriction sur la création de vues

  3. Suffisant autorisations

  4. Les vues peuvent être imbriquées et une vue peut être construite en interrogeant à partir d'autres vues

  5. Si la vue et la requête du view ont order by, l'ordre dans la vue by sera écrasé

  6. Les vues ne peuvent pas être indexées

  7. Les vues peuvent être utilisées avec des tables

4. Utilisez la vue

  1. pour créer une vue créer une vue

  2. pour afficher les instructions qui créent la vue. Afficher créer la vue nom de vue

  3. Supprimer la vue supprimer la vue nom de vue

  4. Mettre à jour la vue, 1⃣️ Supprimer d'abord puis créer 2⃣️ Utiliser directement créer ou remplacer la vue

  5. 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
Copier après la connexion

Utiliser une vue

SELECT cust_name, cust_contact
FROM productcustomers
WHERE prod_id = 'TNT2';
Copier après la connexion

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;
Copier après la connexion
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;
Copier après la connexion
Les résultats peuvent être obtenus directement via la requête de vue

SELECT * FROM vendorlocations;
Copier après la connexion
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;
Copier après la connexion
Utilisez les vues directement

SELECT * from custmeremaillist ;
Copier après la connexion

Utilisez les vues et les champs calculés

Requête mysql

SELECT
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;
Copier après la connexion
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;
Copier après la connexion
Utiliser la vue

SELECT
    *
FROM
    orderitemsexpanded
WHERE order_num=20005;
Copier après la connexion

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. 导出(计算)列
Copier après la connexion
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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal