SQL Vues


Les vues sont des tables visuelles.

Ce chapitre explique comment créer, mettre à jour et supprimer des vues.


Instruction SQL CREATE VIEW

En SQL, une vue est une table virtuelle basée sur le jeu de résultats d'une instruction SQL.

Une vue contient des lignes et des colonnes, tout comme une vraie table. Les champs d'une vue proviennent de tables réelles situées dans une ou plusieurs bases de données.

Vous pouvez ajouter des fonctions SQL, des instructions WHERE et JOIN à une vue, et vous pouvez présenter les données comme si elles provenaient d'une seule table.

Syntaxe SQL CREATE VIEW

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

Description du paramètre :

  • CREATE VIEW:Déclare que vous souhaitez créer une vue.
  • view_name:Spécifie le nom de la vue.
  • AS:Spécifie le mot-clé indiquant le début de la définition de la vue.
  • SELECT column1, column2, ...:Spécifie les colonnes contenues dans la vue, qui peuvent être des colonnes de tables ou des colonnes calculées.
  • FROM table_name:Spécifie la table à partir de laquelle la vue obtient des données.
  • WHERE condition:Partie facultative, utilisée pour spécifier des conditions de filtre afin de restreindre les lignes de la vue.

Remarque :Une vue affiche toujours les données les plus récentes ! Chaque fois qu'un utilisateur interroge une vue, le moteur de base de données reconstruit les données à l'aide de l'instruction SQL de la vue.


Exemple de CREATE VIEW en SQL

Supposons que vous ayez une table appelée employees qui contient des informations sur les employés, y compris les colonnes suivantes : employee_id, first_name, last_name, salary et department_id. Maintenant, nous allons créer une vue qui affiche des informations sur les employés dont le salaire est supérieur à un certain seuil.

L'exemple est le suivant :

-- 创建包含高工资员工信息的视图
CREATE VIEW high_salary_employees AS
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE salary > 50000;

Dans cet exemple, nous avons créé une vue nommée high_salary_employees, qui contient des informations sur les employés dont le salaire est supérieur à 50000.

Maintenant, vous pouvez utiliser cette vue comme vous interrogeriez une table normale :

-- 查询高工资员工视图
SELECT *
FROM high_salary_employees;

Cela renverra les informations détaillées de tous les employés dont le salaire est supérieur à 50000, sans avoir à écrire la même condition de filtre à chaque fois.

Il convient de noter qu'une vue est essentiellement une table virtuelle. Elle ne stocke pas de données, mais est générée à partir des résultats de requête des tables sous-jacentes. Par conséquent, si les données des tables sous-jacentes changent, le contenu de la vue sera également mis à jour en conséquence.

Mise à jour des vues en SQL

En SQL, vous ne pouvez pas utiliser directement l'instruction UPDATE pour mettre à jour une vue, car une vue est une table virtuelle générée à partir des résultats d'une requête, et non une table qui stocke réellement des données.

L'essentiel de la mise à jour d'une vue consiste à mettre à jour les données des tables sur lesquelles la vue est basée, puis la vue reflétera ces modifications.

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Ici, table_name est le nom de la table de base, column1, column2, ... sont les colonnes à mettre à jour, value1, value2, ... sont les nouvelles valeurs, et condition est la condition de mise à jour.

Maintenant, nous voulons ajouter une colonne "Category" à la vue "Current Product List". Nous mettrons à jour la vue avec le SQL suivant :

Par exemple, si vous avez une vue nommée high_salary_employees qui affiche des informations sur les employés dont le salaire est supérieur à 50000, et que cette vue est basée sur les résultats de requête de la table employees, vous pouvez mettre à jour les données en suivant ces étapes :

-- 步骤 1: 更新 employees 表中的数据
UPDATE employees
SET salary = 60000
WHERE employee_id = 1001;

-- 步骤 2: 查询更新后的高工资员工视图
SELECT *
FROM high_salary_employees;

De cette façon, vous avez mis à jour les données de la table employees, et la vue high_salary_employees reflétera ces modifications.



Suppression de vues en SQL

En SQL, la suppression (ou l'effacement) d'une vue s'effectue à l'aide de l'instruction DROP VIEW.

L'instruction DROP VIEW est utilisée pour supprimer une vue existante de la base de données. La syntaxe est la suivante :

DROP VIEW [IF EXISTS] view_name;

Description du paramètre :

  • DROP VIEW:Indique que vous souhaitez supprimer une vue.

  • IF EXISTS:Partie facultative, utilisée pour vérifier si la vue existe. Si elle existe, l'opération de suppression est effectuée ; si elle n'existe pas, aucune erreur ne se produira. Dans certains systèmes de gestion de base de données, cette partie est facultative.

  • view_name:Spécifie le nom de la vue à supprimer.

Après l'exécution de l'instruction suivante, la vue high_salary_employees sera supprimée de la base de données.

-- 删除名为 high_salary_employees 的视图
DROP VIEW IF EXISTS high_salary_employees;

Veuillez noter que cela n'affecte pas les données des tables sous-jacentes ; cela supprime uniquement la définition de la vue.

Si vous devez supprimer ou effacer les données d'une table, vous devez utiliser l'instruction DROP TABLE.

Lorsque vous utilisez l'instruction DROP VIEW, assurez-vous de vraiment vouloir supprimer la vue, car une fois supprimée, la définition de la vue ne peut pas être récupérée.

Autres extensions