Chapitre 21. Vues
Précédent |  | Suivant

## Chapitre 21. Vues

Les vues (y compris les vues modifiables) sont implémentées en version 5 de MySQL. Les vues sont disponibles dans les versions binaires depuis la version 5.0.1 et plus récent.

Ce chpatire présente les sujets suivants :

- Création ou modification de vues avec les commandes `CREATE VIEW` ou `ALTER VIEW`

- Destruction de vues avec `DROP VIEW`

- Affichage des méta-données de vues avec `SHOW CREATE VIEW`

Pour utiliser les vues, lorsque vous êtes passés en version 5.0.1 depuis une ancienne version, il faut mettre aussi à jour la table de droits, car elles contiennent des informations destinées aux vues. See Section 2.6.7, « Mise à jour des tables de droits ».

## 21.1. Syntaxe `ALTER VIEW`

    ALTER VIEW view_name [(column_list)] AS select_statement

Cette commande modifie la définition d'une vue. `select_statement` est le même que pour `CREATE VIEW`. See Section 21.2, « Syntaxe de `CREATE VIEW` ».

Cette commande a été ajoutée en MySQL 5.0.1.

## 21.2. Syntaxe de `CREATE VIEW`

CREATE [OR REPLACE] [ALGORITHM = {MERGE | TEMPTABLE}] VIEW `view_name` [(`column_list`)] AS `select_statement` [WITH [CASCADED | LOCAL] CHECK OPTION]

Cette commande crée une nouvelle vue, ou remplace une vue existante si la clause `OR REPLACE` est fournie. La clause `select_statement` est une commande `SELECT` qui fournit la définition de la vue. La liste optionnelle de colonnes peut être fournie pour définir explicitement les noms des colonnes.

`WITH CHECK OPTION`, if given, is parsed and ignored.

Une vue peut être créée par différents types de commandes `SELECT`. Par exemple, `SELECT` peut faire référence à une table seule, une jointure ou une `UNION`. La commande `SELECT` peut ne pas faire de référence à une table. Les exemples suivants définissent une vue qui sélectionne 2 colonnes dans une table, et leur applique une transformation :

    mysql> CREATE TABLE t (qty INT, price INT);
    mysql> INSERT INTO t VALUES(3, 50);
    mysql> CREATE VIEW v AS SELECT qty, price, qty*price AS value FROM t;
    mysql> SELECT * FROM v;
    +------+-------+-------+
    | qty  | price | value |
    +------+-------+-------+
    |    3 |    50 |   150 |
    +------+-------+-------+

Par défaut, la vue est placée dans la base de données par défaut. Pour créer une vue explicitement dans une base de données, spécifiez le nom de la base de données lors de la création : `db_name.view_name`.

    mysql> CREATE VIEW test.v AS SELECT * FROM t;

Cette commande a été ajoutée en MySQL 5.0.1.

## 21.3. Syntaxe `DROP VIEW`

    DROP VIEW [IF EXISTS]
        view_name [, view_name] ...
        [RESTRICT | CASCADE]

`DROP VIEW` supprime une ou plusieurs vues. Vous devez avoir les droits de `DROP` pour chaque vue.

Vous pouvez utiliser le mot clé `IF EXISTS` pour éviter l'affichage d'un message d'alerte lorsque les vues n'existent pas. Lorsque cette clause est utilisée, une `NOTE` est générée pour chaque vue inexistante. See Section 13.5.3.19, « `SHOW WARNINGS | ERRORS` ».

`RESTRICT` et `CASCADE`, si utilisés, sont analysés mais ignorés.

Cette commande a été ajoutée en MySQL 5.0.1.

## 21.4. Syntaxe `SHOW CREATE VIEW`

    SHOW CREATE VIEW view_name

Cette commande montre la commande `CREATE VIEW` qui créera la vue spécifiée.

    mysql> SHOW CREATE VIEW v;
    +-------+----------------------------------------------------+
    | Table | Create Table                                       |
    +-------+----------------------------------------------------+
    | v     | CREATE VIEW `test`.`v` AS select 1 AS `a`,2 AS `b` |
    +-------+----------------------------------------------------+

Cette commande a été ajoutée en MySQL 5.0.1.

This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

Précédent |  | Suivant
Chapitre 20. Déclencheurs | Sommaire | Chapitre 22. La base de données d'informations `INFORMATION_SCHEMA`