Heim  >  Artikel  >  Datenbank  >  Detaillierte Erläuterung der Rolle von MySQL-Ansichten (1) – Vereinfachung komplexer Verbindungen und Formatierung abgerufener Daten

Detaillierte Erläuterung der Rolle von MySQL-Ansichten (1) – Vereinfachung komplexer Verbindungen und Formatierung abgerufener Daten

巴扎黑
巴扎黑Original
2017-05-17 16:37:453153Durchsuche

Verwenden Sie Ansichten, um komplexe Verknüpfungen zu vereinfachen

Eine der häufigsten Anwendungen von Ansichten ist das Ausblenden komplexer SQL-Anweisungen, bei denen es sich normalerweise um Verknüpfungen handelt. Schauen Sie sich bitte das folgende Beispiel an:

Eingabe:

create view productcustomers as select cust_name,cust_contact,prod_id from customers,orders,orderitems where customers.cust_id = orders.cust_id and orderitems.order_num = orders.order_num;

Analyse: Diese Anweisung erstellt eine Ansicht namens „productcustomers“, die drei Tabellen verknüpft, um die bestellten Artikel zurückzugeben A Liste aller Kunden für jedes Produkt. Wenn Sie SELECT * FROM productcustomers ausführen, werden Kunden aufgelistet, die ein beliebiges Produkt bestellt haben.

Um Kunden abzurufen, die das Produkt TNT2 bestellt haben, gehen Sie wie folgt vor:

Eingabe:

select cust_name,cust_contact from productstomers where prod_id = 'TNT2';

Ausgabe:

Detaillierte Erläuterung der Rolle von MySQL-Ansichten (1) – Vereinfachung komplexer Verbindungen und Formatierung abgerufener Daten

Analyse: Diese Anweisung ruft über die WHERE-Klausel spezifische Daten aus der Ansicht ab. Während MySQL diese Abfrage verarbeitet, fügt es die angegebene WHERE-Klausel zu den vorhandenen WHERE-Klauseln in der Ansichtsabfrage hinzu, damit die Daten korrekt gefiltert werden.

Es ist ersichtlich, dass Ansichten die Verwendung komplexer SQL-Anweisungen erheblich vereinfachen. Mit Ansichten können Sie grundlegendes SQL einmal schreiben und es dann so oft wie nötig verwenden.

Wiederverwendbare Ansichten erstellen Es ist eine gute Idee, Ansichten zu erstellen, die nicht auf bestimmte Daten beschränkt sind. Die oben erstellte Ansicht gibt beispielsweise Kunden zurück, die alle Produkte produzieren, und nicht nur Kunden, die TNT2 produzieren. Durch die Erweiterung des Geltungsbereichs einer Ansicht wird diese nicht nur wiederverwendbar, sondern ist auch noch nützlicher. Dadurch entfällt die Notwendigkeit, mehrere ähnliche Ansichten zu erstellen und zu verwalten.

Verwenden Sie Ansichten, um abgerufene Daten neu zu formatieren

Wie oben erwähnt, besteht eine weitere häufige Verwendung von Ansichten darin, abgerufene Daten neu zu formatieren. Die folgende SELECT-Anweisung gibt den Lieferantennamen und den Standort in einer einzigen kombinierten berechneten Spalte zurück:

Eingabe:

select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;

Ausgabe:

Detaillierte Erläuterung der Rolle von MySQL-Ansichten (1) – Vereinfachung komplexer Verbindungen und Formatierung abgerufener Daten

Angenommen, Sie benötigen häufig Ergebnisse in diesem Format. Anstatt jedes Mal einen Join durchzuführen, wenn Sie ihn benötigen, erstellen Sie eine Ansicht und verwenden Sie ihn jedes Mal, wenn Sie ihn benötigen. Um diese Anweisung in eine Ansicht umzuwandeln, gehen Sie wie folgt vor:

Eingabe:

create view vendorlocation as select concat(rtrim(vend_name),'(',rtrim(vend_country), ')') as vend_title from vendors order by vend_name;

Analyse: Diese Anweisung erstellt eine Ansicht mit derselben Abfrage wie die vorherige SELECT-Anweisung. Um die Daten zum Erstellen aller Versandetiketten abzurufen, gehen Sie wie folgt vor:

Eingabe:

select * from vendorlocations;

Ausgabe:

Detaillierte Erläuterung der Rolle von MySQL-Ansichten (1) – Vereinfachung komplexer Verbindungen und Formatierung abgerufener Daten

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Rolle von MySQL-Ansichten (1) – Vereinfachung komplexer Verbindungen und Formatierung abgerufener Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn