Cours SQL et MySQL · Module 10: Transactions et SQL avancé
Les vues (VIEW) - un regard sauvegardé
Dans cette leçon4
Parfois, nous répétons une certaine requête encore et encore - par exemple « montre les livres disponibles ». Plutôt que de l'écrire à chaque fois, nous pouvons la sauvegarder sous un nom. C'est une vue (VIEW).
Qu'est-ce qu'une vue ?
Une vue est une requête SELECT sauvegardée, que l'on peut utiliser comme s'il s'agissait d'une table ordinaire. Une vue ne stocke aucune donnée - à chaque fois, elle va puiser dans les tables réelles et montre le résultat actuel.
Créer une vue
1CREATE VIEW dostepne_ksiazki AS
2SELECT * FROM ksiazki WHERE dostepna = 1;Désormais, le Gardien peut interroger la Bibliothèque brièvement :
1SELECT * FROM dostepne_ksiazki;et obtiendra toujours une liste fraîche des livres prêts à être empruntés, sans répéter la condition WHERE dostepna = 1.
Pourquoi avons-nous besoin de vues ?
- Lisibilité - une requête complexe se cache derrière un nom simple.
- Commodité - écrite une fois, utilisée de nombreuses fois.
- Sécurité - nous pouvons ne montrer à un lecteur que la vue, en cachant les colonnes sensibles.
Supprimer une vue
1DROP VIEW dostepne_ksiazki;Une vue est comme une longue-vue toute prête sur la tour - une fois réglée, elle montre toujours ce qu'il faut.
Tu as repéré une erreur dans cette leçon ?
Teste tes connaissances
Réponds aux questions de cette leçon. Choisis une réponse pour voir tout de suite si elle est correcte.
1. Qu'est-ce qu'une vue (VIEW) dans MySQL ?
2. Quelle syntaxe crée une vue dans MySQL ?
Voici 2 des 3 questions de cette leçon. Réponds aux autres dans le jeu.
Tâches pratiques dans le jeu
- Éditeur de code
Crée une vue nommée dostepne_ksiazki qui affiche toutes les colonnes de la table ksiazki, mais seulement les lignes où la colonne dostepna vaut 1. Utilise CREATE VIEW ... AS SELECT ...
- Tri horizontal
Ordonne sur une ligne le début de la définition de la vue dostepne_ksiazki :
- Éditeur de code
Crée une vue nommée drogie_ksiazki qui affiche les colonnes tytul et cena de la table ksiazki, mais seulement les lignes où cena est supérieur à 50. Utilise CREATE VIEW ... AS SELECT ...
- Éditeur de code
Écris une requête qui récupère toutes les colonnes et toutes les lignes de la vue dostepne_ksiazki.