Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So aktualisieren Sie die Ansicht in MySQL

SQL-Ansichten bieten mehr Sicherheit und Einfachheit gegenüber Datentabellen. Tatsächlich können Sie die Ansicht in SQL auf mehrere Arten einfach aktualisieren. Hier sind die Schritte zum Aktualisieren der Ansicht in MySQL.

So aktualisieren Sie die Ansicht in MySQL

So aktualisieren Sie die Ansicht in MySQL. Es gibt mehrere Möglichkeiten, die Ansicht in SQL zu aktualisieren. Sie können die Abfrage oder Daten einer SQL-Ansicht aktualisieren. Wir werden uns jede dieser Möglichkeiten zum Aktualisieren der Ansicht in MySQL ansehen.

Angenommen, Sie haben die folgende Ansicht order_view

mysql> create view order_view as
      select order_date,quantity
      from orders;

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 |
+------------+----------+

Bonuslektüre:So erstellen Sie eine Ansicht in MySQL

So aktualisieren Sie die Ansicht in MySQL mit der ALTER-Anweisung

Sie können die Ansicht in MySQL mit ALTER aktualisieren Erklärung. Dies ersetzt die SQL-Abfrage für die Ansicht, nicht die zugrunde liegenden Daten.

mysql> alter view order_view as
       select order_date,quantity
       from orders
       where quantity>30;

mysql> select * from order_view;
+------------+----------+
| order_date | quantity |
+------------+----------+
| 2020-05-01 |       35 |
| 2020-05-02 |       45 |
| 2020-05-04 |       34 |
| 2020-05-04 |       56 |
+------------+----------+

Bonuslektüre:So erhalten Sie die kumulative Gesamtzahl der Benutzer in MySQL

So aktualisieren Sie die Ansicht in MySQL mit CREATE OR REPLACE

Sie können die Ansicht auch in MySQL mit CREATE OR REPLACE aktualisieren Erklärung. Dies ersetzt die SQL-Abfrage für die Ansicht, nicht die zugrunde liegenden Daten.

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 |
+------------+------------+----------+

Bonus-Lesetext:So gewinnen Sie neue Benutzer pro Tag in MySQL

So aktualisieren Sie die Ansicht in MySQL mit UPDATE

Sie können die zugrunde liegenden Daten einer SQL-Ansicht auch mit der UPDATE-Anweisung aktualisieren. Dadurch wird nicht die SQL-Abfrage der Ansicht aktualisiert, sondern die tatsächlichen Tabellendaten.

mysql> update order_view
       set quantity=50
       where order_date>'2020-05-03';

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 |       50 |
| 2020-05-04 |       50 |
+------------+----------+

Bonuslektüre:So berechnen Sie Einnahmen in MySQL

Die UPDATE-Anweisung funktioniert nur bei SQL-Ansichten, wenn es sich um eine direkte Teilmenge von Tabellendaten ohne Aggregation oder Änderung handelt. Sie können also die UPDATE-Anweisung für Ansichten verwenden, wenn die SELECT-Anweisung für die Ansicht :

  • Hat keine DISTINCT-, GROUP BY-, HAVING-, Aggregations-, SET-Funktionen oder -Operatoren
  • Bezieht sich nicht auf mehrere Tabellen
  • Hat keine berechneten Spalten

Das ist es! Jetzt können Sie die MySQL-Ansicht ganz einfach aktualisieren und für Datenanalyse und Berichterstellung verwenden.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!