Heim  >  Artikel  >  Datenbank  >  Einführung in die Verwendung von Ansichten in MYSQL (Codebeispiel)

Einführung in die Verwendung von Ansichten in MYSQL (Codebeispiel)

不言
不言nach vorne
2019-02-27 13:51:382933Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Verwendung von Ansichten in MYSQL (Codebeispiele). Ich hoffe, dass er für Sie hilfreich ist. helfen.

1. Was ist eine Ansicht?

Führen Sie eine SQL aus und speichern Sie die Ergebnismenge in einer virtuellen Tabelle

(Verwandte Empfehlungen: MySQL-Tutorial)

2. Warum Ansichten verwenden

  1. SQL-Anweisungen wiederverwenden

  2. Vereinfachen Sie SQL-Abfragen und rufen Sie Daten schnell ab

  3. Sie müssen nur die Teilstruktur der Tabelle kennen

  4. Daten gemäß spezifischer Autorisierung schützen

  5. Ändern des Datenformats und der Darstellung. Ansichten können Daten zurückgeben, die sich von der Darstellung und dem Format der zugrunde liegenden Tabelle unterscheiden.

Hinweise
• Nachdem die Ansicht erstellt wurde, kann sie grundsätzlich auf die gleiche Weise wie eine Tabelle verwendet werden (Abfragen, Filtern, Daten sortieren, interagieren). mit anderen Ansichten oder Link, (Hinzufügen, Aktualisieren))
• Eine Ansicht ist lediglich eine Funktion zum Anzeigen von an anderer Stelle gespeicherten Daten. Sie enthält selbst keine Daten und die zurückgegebenen Daten werden auch aus anderen Tabellen abgerufen.
• Da die Ansicht selbst keine Daten enthält, kann es bei der Indizierung mehrerer Tabellenverknüpfungen oder Verschachtelungen zu Leistungsproblemen kommen, die getestet werden müssen

3 Regeln und Einschränkungen

  1. Tabellenname muss eindeutig sein (mit anderen Ansichten und Tabellen)

  2. Keine Einschränkungen beim Erstellen von Ansichten

  3. Ausreichend Berechtigungen

  4. Ansichten können verschachtelt werden und eine Ansicht kann durch Abfragen aus anderen Ansichten erstellt werden

  5. Wenn sowohl die Ansicht als auch die Abfrage von der Ansicht haben Reihenfolge nach, die Reihenfolge in der Ansicht nach wird überschrieben

  6. Ansichten können nicht indiziert werden

  7. Ansichten können mit Tabellen verwendet werden

4. Verwenden Sie die Ansicht

  1. , um eine Ansicht zu erstellen

  2. , um die Anweisungen anzuzeigen, die die Ansicht erstellen. Anzeigen, Ansicht erstellen, Ansichtsname erstellen

  3. Ansicht löschen, Ansicht löschen, Ansichtsname löschen

  4. Ansicht aktualisieren, 1⃣️ Zuerst löschen und dann erstellen 2⃣️ Direkt Ansicht erstellen oder ersetzen verwenden

  5. Verwenden Sie Ansichten, um komplexe Join-Abfragen zu vereinfachen

5. Verwenden Sie Ansichten, um komplexe Join-Abfragen zu vereinfachen

Ansicht erstellen

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

Ansicht verwenden

SELECT cust_name, cust_contact
FROM productcustomers
WHERE prod_id = 'TNT2';

6. Ansicht verwenden, um die abgerufenen Daten neu zu formatieren

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

Wenn Sie dieses Format häufig verwenden, können Sie eine Ansicht erstellen

CREATE VIEW vendorlocations AS
SELECT
    concat ( rtrim( vend_name ), '(', rtrim( vend_country ), ')' ) AS vend_title 
FROM
    vendors 
ORDER BY
    vend_name;

Sie können die Ergebnisse direkt über die Ansicht abfragen

SELECT * FROM vendorlocations;

7. Verwenden Sie Ansichten, um unerwünschte Daten zu filtern

create view custmeremaillist AS
SELECT cust_id ,cust_name,cust_email
from customers
where cust_email is not NULL;

Ansichten direkt verwenden

SELECT * from custmeremaillist ;

8. Ansichten und berechnete Felder verwenden

MySQL-Abfrage

SELECT
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;

Ansichten erstellen

CREATE VIEW orderitemsexpanded AS
SELECT
    order_num,
    prod_id,
    quantity,
    item_price,
    quantity * item_price AS expanded_price 
FROM
    orderitems
WHERE order_num=20005;

Ansichten verwenden

SELECT
    *
FROM
    orderitemsexpanded
WHERE order_num=20005;

9. Ansichten aktualisieren

Normalerweise können Ansichten aktualisiert werden (einfügen, aktualisieren, löschen). Durch das Aktualisieren der Ansicht wird die Basistabelle aktualisiert. Die Ansicht kann nicht aktualisiert werden, wenn sie die folgenden Definitionen aufweist.

1. 分组(group by 和 having)
2. 联结
3. 自查询
4. 并
5. 聚合函数(min()、count()、sum()等)
6. Distinct
7. 导出(计算)列

Die Ansicht ist also am besten, wenn Sie die Auswahlabfrage direkt verwenden.


Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von Ansichten in MYSQL (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen