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)

不言
不言avant
2019-02-27 13:51:383029parcourir

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

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 mysql

SELECT
    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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer