Table des matières
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 ».
ALTER VIEWview_name
[(column_list
)] ASselect_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.
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.
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.
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.