sql >> Database >  >> RDS >> Mysql

Hoe een MySQL-weergave te maken

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:

  1. Een weergave vertegenwoordigt een virtuele tabel en geen werkelijke tabel. Ze nemen dus geen andere ruimte in beslag dan de opgeslagen SQL-query
  2. U kunt weergaven gebruiken om een ​​subset van tabelgegevens te krijgen en de blootstelling van gebruikers aan onderliggende gegevens te beperken
  3. Op dezelfde manier kunt u een MySQL-weergave maken met geaggregeerde gegevens (bijv. som, aantal, enz.)
  4. 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!

  1. ORA-24408:kan geen unieke servergroepsnaam genereren

  2. Hoe FIELD() werkt in MariaDB

  3. Hoe een id uit de database te halen bij het klikken op een lijstweergave-item in Android

  4. Invoegen Update opgeslagen proces op SQL Server