SQL-weergaven vertegenwoordigen een subset van gegevens in de database, bieden betere beveiliging en eenvoud voor gegevensanalyse en rapportage. Hier leest u hoe u een MySQL-weergave maakt om query's op te slaan die dynamisch worden uitgevoerd om resultaten te genereren, in plaats van daadwerkelijke gegevens op te slaan.
Hoe een MySQL-weergave te maken
Dit zijn de stappen om een MySQL-weergave te maken.
SQL-views zijn in feite opgeslagen SQL-query's waaraan een 'view'-naam is toegewezen. Wanneer u een SQL-weergave opent, wordt hun query dynamisch uitgevoerd om de resultatenset te retourneren.
SQL-views bevatten eigenlijk geen gegevens, maar alleen de opgeslagen query en nemen heel weinig ruimte in beslag.
Bonus lezen:hoe u het totale aantal gebruikers per dag in MySQL kunt krijgen
Wat zijn de toepassingen van de SQL-weergave
Dit zijn de belangrijkste toepassingen van de SQL-weergave
- Rapportage – SQL-weergaven vertegenwoordigen slechts een subset van gegevens. Ze kunnen dus worden gebruikt om rapportagetabellen te maken voor gegevensanalyse
- Beveiliging – SQL-views worden gebruikt om een betere beveiliging te bieden. U kunt gebruikers veilig toegang geven tot weergaven in plaats van onderliggende tabellen
- Eenvoud – U kunt één weergave maken van meerdere tabellen met behulp van joins. Gebruikers hebben dus gemakkelijk toegang tot gegevens zonder het onderliggende databaseschema te kennen.
Bonus lezen:nieuwe gebruikers per dag krijgen in MySQL
Wat zijn de voordelen van views in SQL
Hier zijn enkele voordelen van views in SQL:
- Een weergave vertegenwoordigt een virtuele tabel en geen werkelijke tabel. Ze nemen dus geen andere ruimte in beslag dan de opgeslagen SQL-query
- U kunt weergaven gebruiken om een subset van tabelgegevens te krijgen en de blootstelling van gebruikers aan onderliggende gegevens te beperken
- Op dezelfde manier kunt u een MySQL-weergave maken met geaggregeerde gegevens (bijv. som, aantal, enz.)
- U kunt aangepaste weergaven maken die gegevens uit meerdere tabellen, samenvattingen, partities of zelfs berekende gegevens bevatten, zonder onderliggende gegevens te wijzigen.
Bonus Lezen:Hoe de inkomsten in MySQL te berekenen
MySQL-weergave maken
Het is heel eenvoudig om een weergave te maken in MySQL. De basissyntaxis om een weergave te maken in MySQL is
CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
Stel dat u een tabel heeft orders(order_date,product_id,quantity)
mysql> select * from orders; +------------+------------+----------+ | order_date | product_id | quantity | +------------+------------+----------+ | 2020-05-01 | 1 | 23 | | 2020-05-01 | 2 | 35 | | 2020-05-02 | 1 | 45 | | 2020-05-02 | 2 | 23 | | 2020-05-03 | 1 | 19 | | 2020-05-03 | 2 | 15 | | 2020-05-04 | 1 | 34 | | 2020-05-04 | 2 | 56 | +------------+------------+----------+
Stel dat u een MySQL-weergave wilt maken (bijv. order_view) die alleen de order_date &hoeveelheid toont. Hier is de SQL-query om een weergave te maken
mysql> create view order_view as select order_date,quantity from orders;
Nu kunt u deze weergave opvragen net als een normale tabel.
mysql> select * from order_view; +------------+----------+ | order_date | quantity | +------------+----------+ | 2020-05-01 | 23 | | 2020-05-01 | 35 | | 2020-05-02 | 45 | | 2020-05-02 | 23 | | 2020-05-03 | 19 | | 2020-05-03 | 15 | | 2020-05-04 | 34 | | 2020-05-04 | 56 | +------------+----------+
Bonus lezen:hoe u verkoopgegevens van de laatste 3 maanden in MySQL kunt krijgen
Je kunt de weergave ook vervangen met CREATE OR REPLACE uitspraak. Dit vervangt de SQL-query voor weergave.
mysql> create or replace view order_view as select order_date,product_id,quantity from orders; mysql> select * from order_view; +------------+------------+----------+ | order_date | product_id | quantity | +------------+------------+----------+ | 2020-05-01 | 1 | 23 | | 2020-05-01 | 2 | 35 | | 2020-05-02 | 1 | 45 | | 2020-05-02 | 2 | 23 | | 2020-05-03 | 1 | 19 | | 2020-05-03 | 2 | 15 | | 2020-05-04 | 1 | 34 | | 2020-05-04 | 2 | 56 | +------------+------------+----------+
U kunt ook een weergave maken in MySQL met JOIN. Hier is een voorbeeld
mysql> create view order_view as select orders.order_date,orders.quantity,sales.sale from orders INNER JOIN sales on orders.order_date=sales.order_date; mysql> select * from order_view; +------------+----------+----------+ | order_date | quantity | sale | +------------+----------+----------+ | 2020-05-01 | 23 | 350 | | 2020-05-01 | 23 | 375 | | 2020-05-02 | 45 | 423 | | 2020-05-02 | 23 | 350 | | 2020-05-03 | 19 | 230 | | 2020-05-03 | 15 | 180 | | 2020-05-04 | 34 | 450 | | 2020-05-04 | 56 | 650 | +------------+----------+----------+
Hoe u de weergave in MySQL kunt neerzetten
Hier leest u hoe u de weergave in MySQL kunt laten vallen, als u deze niet nodig hebt. Hier is de syntaxis
DROP VIEW view_name;
Hier is een voorbeeld
DROP VIEW order_view;
Dat is het! Nu kunt u eenvoudig een MySQL-weergave maken en deze gebruiken voor gegevensanalyse en rapportage.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!