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. A MySQL Die Ansicht kann Daten aus einer oder mehreren Tabellen anzeigen.
MySQL Syntax der Ansichten
Schauen wir uns nun die grundlegende Syntax an, die zum Erstellen einer Ansicht verwendet wird MySQL.
CREATE VIEW `view_name` AS SELECT statement;
WO
- โANSICHT โAnsichtsnameโ ERSTELLENโ erzรคhlt MySQL Server, um in der Datenbank ein Ansichtsobjekt mit dem Namen โview_nameโ zu erstellen
- โAS SELECT-Anweisungโ sind die SQL-Anweisungen, die in gepackt werden sollen MySQL Ansichten. Es kann sich um eine SELECT-Anweisung handeln, die Daten aus einer oder mehreren Tabellen enthalten kann.
So erstellen Sie Ansichten in MySQL
Nachfolgend finden Sie eine Schritt-fรผr-Schritt-Anleitung 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โ.
Ausfรผhren des obigen Skripts in MySQL Workbench gegen MyflixDB und Erweitern des Ansichtsknotens im Datenbank-Explorer erhalten wir die folgenden Ergebnisse.
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 unten gezeigt MySQL Beispielansicht erstellen.
SELECT * FROM `accounts_v_members`;
Schritt 4) Fรผhren Sie ein Skript aus
Ausfรผhren des obigen Skripts in MySQL Workbench gegen Myflixdb liefert uns die folgenden, unten gezeigten Ergebnisse.
| 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 in der Mitgliedertabelle 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.
Beitritte und Ansichten in MySQL
Schauen wir uns nun ein ziemlich komplexes Beispiel an, das mehrere Tabellen beinhaltet und verwendet 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 Werkbank gegen myflixdb liefert uns die unten dargestellten Ergebnisse.
| 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 komplexe JOIN-Abfrage nicht schreiben mussten, um Informationen zu Mitgliedern, Filmen und Filmverleihdetails zu erhalten. Wir haben die Ansicht einfach in einer regulรคren SELECT-Anweisung wie jede andere normale Tabelle verwendet. Die Ansicht kann von รผberall im Anwendungssystem aufgerufen werden, das auf myflixdb lรคuft.
Ansichten einfรผgen MySQL
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?
Sie mรถchten Ansichten mรถglicherweise vor allem aus den folgenden 3 Grรผnden verwenden
- 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 keine komplexen Abfragen mit wiederholten Verknรผpfungen erstellen. Die gesamte Komplexitรคt wird mithilfe von VIEWS in eine einzige Abfragezeile umgewandelt. Derart komprimierter Code lรคsst sich leichter in Ihre Anwendung integrieren. Dadurch wird die Wahrscheinlichkeit von Tippfehlern eliminiert und Ihr Code wird besser lesbar.
- VIEWS helfen bei der Datensicherheit. Sie kรถnnen Ansichten verwenden, um Benutzern nur autorisierte Informationen anzuzeigen und vertrauliche Daten wie Kreditkartennummern zu verbergen.
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, indem sie autorisierten Benutzern nur die gewรผnschten Daten zeigen. Sie verbergen vertrauliche Daten.
- Ansichten machen das Leben einfacher, da Sie nicht immer wieder komplexe Abfragen schreiben mรผssen.
- Es ist mรถglich, INSERT, UPDATE und DELETE auf eine VIEW anzuwenden. Diese Operationen รคndern die zugrunde liegenden Tabellen der VIEW. Die einzige รberlegung ist, dass die VIEW alle NOT NULL-Spalten der Tabellen enthalten sollte, auf die sie verweist. Idealerweise sollten Sie VIEWS nicht zum Aktualisieren verwenden.

