SQL Ansichten


Ansichten sind visuelle Tabellen.

In diesem Kapitel wird erklärt, wie man Ansichten erstellt, aktualisiert und löscht.


SQL CREATE VIEW-Anweisung

In SQL ist eine Sicht eine virtuelle Tabelle, die auf der Ergebnismenge einer SQL-Anweisung basiert.

Eine Sicht enthält Zeilen und Spalten, genau wie eine echte Tabelle. Die Felder in einer Sicht stammen aus echten Tabellen in einer oder mehreren Datenbanken.

Sie können SQL-Funktionen, WHERE- und JOIN-Anweisungen zu einer Sicht hinzufügen und Daten so darstellen, als ob sie aus einer einzelnen Tabelle stammen würden.

SQL CREATE VIEW-Syntax

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

Parameter description:

  • CREATE VIEW:Gibt an, dass Sie eine Sicht erstellen möchten.
  • view_name:Gibt den Namen der Sicht an.
  • AS:Gibt das Schlüsselwort an, das den Beginn der Sichtdefinition kennzeichnet.
  • SELECT column1, column2, ...:Gibt die in der Sicht enthaltenen Spalten an, die Spalten aus Tabellen oder berechnete Spalten sein können.
  • FROM table_name:Gibt die Tabelle an, aus der die Sicht Daten bezieht.
  • WHERE condition:Optionaler Teil, mit dem Filterbedingungen angegeben werden, um die Zeilen in der Sicht einzuschränken.

Hinweis:Eine Sicht zeigt immer die aktuellsten Daten an! Immer wenn ein Benutzer eine Sicht abfragt, baut die Datenbank-Engine die Daten mithilfe der SQL-Anweisung der Sicht neu auf.


SQL CREATE VIEW Beispiel

Angenommen, Sie haben eine Tabelle namens employees, die Mitarbeiterinformationen enthält, einschließlich der folgenden Spalten: employee_id, first_name, last_name, salary und department_id. Nun erstellen wir eine View, die Informationen über Mitarbeiter anzeigt, deren Gehalt über einem bestimmten Schwellenwert liegt.

Das Beispiel ist wie folgt:

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

In diesem Beispiel haben wir eine View namens high_salary_employees erstellt, die Informationen über Mitarbeiter enthält, deren Gehalt höher als 50000 ist.

Jetzt können Sie diese View genauso verwenden wie beim Abfragen einer normalen Tabelle:

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

Dies gibt die detaillierten Informationen aller Mitarbeiter mit einem Gehalt von mehr als 50000 zurück, ohne dass Sie jedes Mal dieselbe Filterbedingung schreiben müssen.

Es ist erwähnenswert, dass eine View im Wesentlichen eine virtuelle Tabelle ist. Sie speichert keine Daten, sondern wird basierend auf den Abfrageergebnissen der zugrunde liegenden Tabellen generiert. Wenn sich daher die Daten in den zugrunde liegenden Tabellen ändern, wird auch der Inhalt der View entsprechend aktualisiert.

SQL: Views aktualisieren

In SQL können Sie die UPDATE-Anweisung nicht direkt verwenden, um eine View zu aktualisieren, da eine View eine virtuelle Tabelle ist, die auf der Grundlage von Abfrageergebnissen generiert wird, und keine Tabelle, die tatsächlich Daten speichert.

Im Wesentlichen bedeutet das Aktualisieren einer View, die Daten in den Tabellen zu aktualisieren, auf denen die View basiert, und anschließend spiegelt die View diese Änderungen wider.

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

Hier ist table_name der Name der Basistabelle, column1, column2, ... sind die zu aktualisierenden Spalten, value1, value2, ... sind die neuen Werte, und condition ist die Aktualisierungsbedingung.

Nun möchten wir der View "Current Product List" eine Spalte "Category" hinzufügen. Wir werden die View mit dem folgenden SQL aktualisieren:

Wenn Sie beispielsweise eine View namens high_salary_employees haben, die Informationen über Mitarbeiter mit einem Gehalt von mehr als 50000 anzeigt, und diese View auf den Abfrageergebnissen der Tabelle employees basiert, können Sie die Daten mit den folgenden Schritten aktualisieren:

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

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

Auf diese Weise haben Sie die Daten in der Tabelle employees aktualisiert, und die View high_salary_employees wird diese Änderungen widerspiegeln.



SQL: Views löschen

In SQL wird das Löschen (oder Entfernen) einer View durch die Verwendung der DROP VIEW-Anweisung erreicht.

Die DROP VIEW-Anweisung wird verwendet, um eine vorhandene View aus der Datenbank zu löschen. Die Syntax lautet wie folgt:

DROP VIEW [IF EXISTS] view_name;

Parameter description:

  • DROP VIEW:Gibt an, dass Sie eine View löschen möchten.

  • IF EXISTS:Optionaler Teil, wird verwendet, um zu prüfen, ob die View existiert. Wenn sie existiert, wird der Löschvorgang ausgeführt; wenn sie nicht existiert, tritt kein Fehler auf. In einigen Datenbanksystemen ist dies optional.

  • view_name:Gibt den Namen der zu löschenden View an.

Nach Ausführung der folgenden Anweisung wird die View high_salary_employees aus der Datenbank gelöscht.

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

Bitte beachten Sie, dass dies die Daten in den zugrunde liegenden Tabellen nicht beeinflusst; es entfernt nur die Definition der View.

Wenn Sie die Daten in einer Tabelle löschen oder entfernen müssen, sollten Sie die DROP TABLE-Anweisung verwenden.

Wenn Sie die DROP VIEW-Anweisung verwenden, stellen Sie sicher, dass Sie die View wirklich löschen möchten, denn sobald sie gelöscht wurde, kann die Definition der View nicht wiederhergestellt werden.

Andere Erweiterungen