MySQL-Ansichten: So erstellen Sie Ansichten aus Tabellen mit Beispielen

Was sind Ansichten in MySQL?

ANSICHTEN sind virtuelle Tabellen, die keine eigenen Daten speichern, sondern in anderen Tabellen gespeicherte Daten anzeigen. Mit anderen Worten: VIEWS sind nichts anderes als SQL-Abfragen. Eine Ansicht kann alle oder einige Zeilen einer Tabelle enthalten. Eine MySQL-Ansicht kann Daten aus einer oder mehreren Tabellen anzeigen.

MySQL Views-Syntax

Schauen wir uns nun die grundlegende Syntax an, die zum Erstellen einer Ansicht in MySQL verwendet wird.

CREATE VIEW `view_name` AS SELECT statement;

WO

  • „ANSICHT „Ansichtsname“ ERSTELLEN“ weist den MySQL-Server an, in der Datenbank ein Ansichtsobjekt mit dem Namen „view_name“ zu erstellen
  • „AS SELECT-Anweisung“ sind die SQL-Anweisungen, die in die MySQL-Ansichten gepackt werden sollen. Es kann sich um eine SELECT-Anweisung handeln, die Daten aus einer oder mehreren Tabellen enthalten kann.

So erstellen Sie Ansichten in MySQL

Following ist ein Schritt-für-Schritt-Prozess zum Erstellen einer Ansicht in MySQL:

Schritt 1) Erstellen Sie unsere erste Ansicht mit „myflixdb“

Lassen Sie uns nun unsere erste Ansicht mit „myflixdb“ erstellen. Wir erstellen eine einfache Ansicht, die die in der Mitgliedertabelle angezeigten Spalten einschränkt.

Angenommen, die Autorisierungsanforderungen besagen, dass die Buchhaltungsabteilung nur die Nummer, den Namen und das Geschlecht des Mitglieds aus der Tabelle des Mitglieds sehen kann. Um dies zu erreichen, können Sie eine VIEW erstellen –

CREATE VIEW `accounts_v_members` AS SELECT `membership_number`,`full_names`,`gender` FROM `members`;

Schritt 2) Erweitern des Knotens „Ansichten“.

Wenn wir das obige Skript in der MySQL-Workbench für die myflixdb ausführen und den View-Knoten im Datenbank-Explorer erweitern, erhalten wir Folgendeswing Ergebnisse angezeigt

Erstellen Sie Ansichten in MySQL

Beachten Sie, dass das Objekt „accounts_v_members“ jetzt in den Datenbankansichtsobjekten sichtbar ist.

Schritt 3) Führen Sie eine SELECT-Anweisung aus

Lassen Sie uns nun a ausführen SELECT-Anweisung Dadurch werden alle Felder aus der Ansicht ausgewählt, wie im folgenden MySQL-Beispiel zum Erstellen einer Ansicht gezeigt.

SELECT * FROM `accounts_v_members`;

Schritt 4) Führen Sie ein Skript aus

Das Ausführen des obigen Skripts in der MySQL-Workbench gegen myflixdb ergibt Folgendeswing Die Ergebnisse werden unten angezeigt.

membership_number full_names gender
1 Janet Jones Female
2 Janet Smith Jones Female
3 Robert Phil Male
4 Gloria Williams Female
5 Leonard Hofstadter Male
6 Sheldon Cooper Male
7 Rajesh Koothrappali Male
8 Leslie Winkle Male
9 Howard Wolowitz Male

Es wurden nur die autorisierten Spalten für die Buchhaltungsabteilung zurückgegeben. Andere details Die in der Mitgliedertabelle gefundenen Dateien wurden ausgeblendet.

Wenn wir die SQL-Anweisungen sehen möchten, aus denen eine bestimmte Ansicht besteht, können wir dazu das unten gezeigte Skript verwenden.

SHOW CREATE VIEW `accounts_v_members`;

Wenn Sie das obige Skript ausführen, erhalten Sie den Ansichtsnamen und die SQL-SELECT-Anweisungen, die zum Erstellen der Ansicht verwendet wurden.

Verknüpfungen und Ansichten in MySQL

Schauen wir uns nun ein ziemlich großes Bild anplex Beispiel, das mehrere Tabellen und Verwendungen umfasst verbindet.

Wir werden den erstellten JOIN verpacken, der Informationen aus drei (3) Tabellen erhält, nämlich Mitglieder, Filme und Filmverleih. Nachfolgend finden Sie das Skript, das uns dabei hilft.

CREATE VIEW `general_v_movie_rentals` AS SELECT mb.`membership_number`,mb.`full_names`,mo.`title`,mr.`transaction_date`,mr.`return_date` FROM `movierentals` AS mr INNER JOIN `members` AS mb ON mr.`membership_number` = mb.`membership_number` INNER JOIN `movies` AS mo ON mr.`movie_id` = mo.`movie_id`;

Durch das Ausführen der oben genannten Skripte wird die Ansicht „general_v_movie_rentals“ in unserer myflixdb erstellt

Wählen wir nun alle Felder aus einer Tabelle namens general_v_movie_rentals aus.

SELECT * FROM `general_v_movie_rentals`;

Ausführen des obigen Skripts in MySQL-Workbench gegen die myflixdb gibt uns folgendeswing Die Ergebnisse werden unten angezeigt.

membership_number full_names title transaction_date return_date
1 Janet Jones Pirates of the Caribean 4 20-06-2012 28-06-2012
1 Janet Jones Forgetting Sarah Marshal 22-06-2012 25-06-2012
3 Robert Phil Forgetting Sarah Marshal 22-06-2012 25-06-2012
2 Janet Smith Jones Forgetting Sarah Marshal 21-06-2012 24-06-2012
3 Robert Phil X-Men 23-06-2012 28-06-2012

Beachten Sie, dass wir die Kommunikation nicht schreiben musstenplex JOIN-Abfrage, um Informationen über Mitglieder, Filme und Filmverleih zu erhaltentails. Wir haben die Ansicht einfach in einer regulären SELECT-Anweisung wie jede andere gewöhnliche Tabelle verwendet. Die Ansicht kann von überall im Anwendungssystem aufgerufen werden, das auf der myflixdb läuft.

Ansichten in MySQL löschen

Mit dem DROP-Befehl kann eine Ansicht aus dem gelöscht werden Datenbank das ist nicht mehr erforderlich. Die grundlegende Syntax zum Löschen einer Ansicht lautet wie folgt.

DROP VIEW ` general_v_movie_rentals `;

Warum Ansichten verwenden?

Möglicherweise möchten Sie Ansichten hauptsächlich für Follo verwendenwing 3 Gründe

  • Letztendlich werden Sie Ihre nutzen SQL Wissen, um Anwendungen zu erstellen, die eine Datenbank für Datenanforderungen verwenden. Es wird empfohlen, in Ihrer Anwendung VIEWS der ursprünglichen Tabellenstruktur zu verwenden, anstatt die Tabellen selbst zu verwenden. Dadurch wird sichergestellt, dass Ihr Legacy-Code beim Refactoring Ihrer Datenbank das ursprüngliche Schema über die Ansicht sieht, ohne dass die Anwendung beschädigt wird.
  • VIEWS erhöhen die Wiederverwendbarkeit. Sie müssen kein com erstellenplex Abfragen mit wiederholten Verknüpfungen. Die ganze Kommunikationplexity wird in eine einzelne Abfragezeile mit VIEWS umgewandelt. Ein solcher komprimierter Code lässt sich leichter in Ihre Anwendung integrieren. Dadurch wird das Risiko von Tippfehlern vermieden und Ihr Code wird besser lesbar.
  • VIEWS hilft bei der Datensicherheit. Sie können Ansichten verwenden, um Benutzern nur autorisierte Informationen anzuzeigen und vertrauliche Daten wie Kreditkartennummern auszublenden.

Zusammenfassung

  • Ansichten sind virtuelle Tabellen; Sie enthalten nicht die zurückgegebenen Daten. Die Daten werden in den Tabellen gespeichert, auf die in der SELECT-Anweisung verwiesen wird.
  • Ansichten verbessern die Sicherheit der Datenbank von showing nur bestimmungsgemäße Daten an autorisierte Benutzer weitergeben. Sie verbergen sensible Daten.
  • Ansichten machen das Leben einfacher, da Sie keine Schreibcom habenplex immer wieder Fragen.
  • Es ist möglich, INSERT, UPDATE und DELETE für eine VIEW zu verwenden. Diese Vorgänge ändern die zugrunde liegenden Tabellen der VIEW. Die einzige Überlegung besteht darin, dass VIEW alle NOT NULL-Spalten der Tabellen enthalten sollte, auf die es verweist. Idealerweise sollten Sie VIEWS nicht zum Aktualisieren verwenden.