Grundlegende Syntax Sie können eine Ansicht mit der Anweisung CREATE VIEW erstellen. Das Syntaxformat ist wie folgt: CREATE VIEW <Ansichtsname> AS <SELECT-Anweisung> Die Syntax wird unten beschrieben.
Für die Angabe der SELECT-Anweisung beim Erstellen einer View gelten folgende Einschränkungen:
In einer Ansichtsdefinition referenzierte Tabellen oder Ansichten müssen vorhanden sein. Nachdem Sie eine Ansicht erstellt haben, können Sie jedoch die Tabellen oder Ansichten löschen, auf die die Definition verweist. Mit der Anweisung CHECK TABLE können Sie Ansichtsdefinitionen auf solche Probleme überprüfen. ORDER BY-Anweisungen sind in Ansichtsdefinitionen zulässig. Wenn Sie jedoch aus einer bestimmten Ansicht auswählen und diese Ansicht ihre eigene ORDER BY-Anweisung verwendet, wird das ORDER BY in der Ansichtsdefinition ignoriert. Auf TEMPORARY-Tabellen (temporäre Tabellen) kann in Ansichtsdefinitionen nicht verwiesen werden, und es können keine TEMPORARY-Ansichten erstellt werden. WITH CHECK OPTION bedeutet, dass beim Ändern der Ansicht überprüft wird, ob die eingefügten Daten die von WHERE festgelegten Bedingungen erfüllen. Erstellen einer Ansicht basierend auf einer einzelnen Tabelle MySQL kann Ansichten für eine einzelne Tabelle erstellen. Sehen Sie sich die Daten der Tabelle tb_students_info in der Datenbank test_db an, wie unten gezeigt. mysql> AUSWÄHLEN * VON tb_students_info; +----+--------+------+------+---------+--------+------------+ | ID | Name | Abteilungs-ID | Alter | Geschlecht | Größe | Anmeldedatum | +----+--------+------+------+---------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 10.09.2015 | | 2 | Grün | 3 | 23 | F | 158 | 22.10.2016 | | 3 | Henry | 2 | 23 | M | 185 | 31.05.2015 | | 4 | Jane | 1 | 22 | F | 162 | 20.12.2016 | | 5 | Jim | 1 | 24 | M | 175 | 15.01.2016 | | 6 | Johannes | 2 | 21 | M | 172 | 11.11.2015 | | 7 | Lily | 6 | 22 | F | 165 | 26.02.2016 | | 8 | Susan | 4 | 23 | F | 170 | 01.10.2015 | | 9 | Thomas | 3 | 22 | M | 178 | 07.06.2016 | | 10 | Tom | 4 | 23 | M | 165 | 05.08.2016 | +----+--------+------+------+---------+--------+------------+ 10 Zeilen im Satz (0,00 Sek.) 【Beispiel 1】 Erstellen Sie eine Ansicht mit dem Namen view_students_info in der Tabelle tb_students_info. Die eingegebene SQL-Anweisung und das Ausführungsergebnis lauten wie folgt. mysql> CREATE VIEW view_students_info -> ALS AUSWAHL * AUS tb_students_info; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> AUSWÄHLEN * VON view_students_info; +----+--------+------+------+---------+--------+------------+ | ID | Name | Abteilungs-ID | Alter | Geschlecht | Größe | Anmeldedatum | +----+--------+------+------+---------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 10.09.2015 | | 2 | Grün | 3 | 23 | F | 158 | 22.10.2016 | | 3 | Henry | 2 | 23 | M | 185 | 31.05.2015 | | 4 | Jane | 1 | 22 | F | 162 | 20.12.2016 | | 5 | Jim | 1 | 24 | M | 175 | 15.01.2016 | | 6 | Johannes | 2 | 21 | M | 172 | 11.11.2015 | | 7 | Lily | 6 | 22 | F | 165 | 26.02.2016 | | 8 | Susan | 4 | 23 | F | 170 | 01.10.2015 | | 9 | Thomas | 3 | 22 | M | 178 | 07.06.2016 | | 10 | Tom | 4 | 23 | M | 165 | 05.08.2016 | +----+--------+------+------+---------+--------+------------+ 10 Zeilen im Satz (0,04 Sek.) Standardmäßig sind die Felder der erstellten Ansicht dieselben wie die der Basistabelle. Sie können eine Ansicht auch erstellen, indem Sie den Namen des Ansichtsfelds angeben. 【Beispiel 2】 Erstellen Sie eine Ansicht mit dem Namen v_students_info in der Tabelle tb_students_info. Die eingegebene SQL-Anweisung und das Ausführungsergebnis sind wie folgt. mysql> CREATE VIEW v_students_info -> (s_id,s_name,d_id,s_alter,s_geschlecht,s_größe,s_datum) -> AS SELECT ID, Name, Abteilungs-ID, Alter, Geschlecht, Größe, Anmeldedatum -> VON tb_students_info; Abfrage OK, 0 Zeilen betroffen (0,06 Sek.) mysql> AUSWÄHLEN * VON v_students_info; +------+--------+------+-------+----------+----------+----------+------------+ | s_id | s_name | d_id | s_alter | s_geschlecht | s_größe | s_datum | +------+--------+------+-------+----------+----------+----------+------------+ | 1 | Dany | 1 | 24 | F | 160 | 10.09.2015 | | 2 | Grün | 3 | 23 | F | 158 | 22.10.2016 | | 3 | Henry | 2 | 23 | M | 185 | 31.05.2015 | | 4 | Jane | 1 | 22 | F | 162 | 20.12.2016 | | 5 | Jim | 1 | 24 | M | 175 | 15.01.2016 | | 6 | Johannes | 2 | 21 | M | 172 | 11.11.2015 | | 7 | Lily | 6 | 22 | F | 165 | 26.02.2016 | | 8 | Susan | 4 | 23 | F | 170 | 01.10.2015 | | 9 | Thomas | 3 | 22 | M | 178 | 07.06.2016 | | 10 | Tom | 4 | 23 | M | 165 | 05.08.2016 | +------+--------+------+-------+----------+----------+----------+------------+ 10 Zeilen im Satz (0,01 Sek.) Sie können sehen, dass die Feldnamen in den Ansichten view_students_info und v_students_info unterschiedlich sind, die Daten jedoch dieselben sind. Daher müssen Benutzer bei der Verwendung von Ansichten möglicherweise nicht die Struktur der Basistabelle verstehen, geschweige denn auf die Daten in der eigentlichen Tabelle zugreifen, wodurch die Sicherheit der Datenbank gewährleistet wird. Erstellen einer Ansicht basierend auf mehreren Tabellen In MySQL können Sie mit der Anweisung CREATE VIEW auch Ansichten auf mehr als zwei Tabellen erstellen. 【Beispiel 3】 Erstellen Sie die Ansicht v_students_info für die Tabellen tb_student_info und tb_departments. Die eingegebenen SQL-Anweisungen und die Ausführungsergebnisse sind wie folgt. mysql> CREATE VIEW v_students_info -> (s_id,s_name,d_id,s_alter,s_geschlecht,s_größe,s_datum) -> AS SELECT ID, Name, Abteilungs-ID, Alter, Geschlecht, Größe, Anmeldedatum -> VON tb_students_info; Abfrage OK, 0 Zeilen betroffen (0,06 Sek.) mysql> AUSWÄHLEN * VON v_students_info; +------+--------+------+-------+----------+----------+----------+------------+ | s_id | s_name | d_id | s_alter | s_geschlecht | s_größe | s_datum | +------+--------+------+-------+----------+----------+----------+------------+ | 1 | Dany | 1 | 24 | F | 160 | 10.09.2015 | | 2 | Grün | 3 | 23 | F | 158 | 22.10.2016 | | 3 | Henry | 2 | 23 | M | 185 | 31.05.2015 | | 4 | Jane | 1 | 22 | F | 162 | 20.12.2016 | | 5 | Jim | 1 | 24 | M | 175 | 15.01.2016 | | 6 | Johannes | 2 | 21 | M | 172 | 11.11.2015 | | 7 | Lily | 6 | 22 | F | 165 | 26.02.2016 | | 8 | Susan | 4 | 23 | F | 170 | 01.10.2015 | | 9 | Thomas | 3 | 22 | M | 178 | 07.06.2016 | | 10 | Tom | 4 | 23 | M | 165 | 05.08.2016 | +------+--------+------+-------+----------+----------+----------+------------+ 10 Zeilen im Satz (0,01 Sek.) Diese Ansicht kann die Daten in der Basistabelle wirksam schützen. Die Ansicht enthält s_id, s_name und dept_name. Das Feld s_id entspricht dem Feld id in der Tabelle tb_students_info, das Feld s_name entspricht dem Feld name in der Tabelle tb_students_info und das Feld dept_name entspricht dem Feld dept_name in der Tabelle tb_departments. Abfrageansicht Sobald eine Ansicht definiert ist, können Sie die Daten in der Ansicht mit der SELECT-Anweisung abfragen, genau wie bei einer Datentabelle. Die Syntax ist dieselbe wie bei der Abfrage von Daten in der Basistabelle. Ansichten werden für Abfragen in den folgenden Bereichen verwendet:
Mit DESCRIBE kann die Ansicht angezeigt werden. Die Syntax lautet wie folgt: DESCRIBE-Ansichtsname; 【Beispiel 4】 Verwenden Sie die DESCRIBE-Anweisung, um die Definition der Ansicht v_students_info anzuzeigen. Die eingegebene SQL-Anweisung und das Ausführungsergebnis lauten wie folgt. mysql> BESCHREIBEN v_students_info; +----------+------------------+------+-----+------------+-----------+ | Feld | Typ | Null | Schlüssel | Standard | Extra | +----------+------------------+------+-----+------------+-----------+ | s_id | int(11) | NEIN | | 0 | | | s_name | varchar(45) | JA | | NULL | | | d_id | int(11) | JA | | NULL | | | s_age | int(11) | JA | | NULL | | | s_sex | enum('M','F') | JA | | NULL | | | s_height | int(11) | JA | | NULL | | | s_date | Datum | JA | | 22.10.2016 | | +----------+------------------+------+-----+------------+-----------+ 7 Zeilen im Satz (0,04 Sek.) Hinweis: DESCRIBE kann im Allgemeinen als DESC abgekürzt werden. Das Ausführungsergebnis der Eingabe dieses Befehls ist dasselbe wie die Eingabe von DESCRIBE. Oben finden Sie Einzelheiten zum Erstellen von Ansichten in MySQL. Weitere Informationen zum Erstellen von Ansichten in MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: JavaScript zum Erzielen eines einfachen Drag-Effekts
>>: Lösen Sie das Problem der VScode-Konfiguration durch Remote-Debugging des Linux-Programms
#mysql -uroot -p Passwort eingeben mysql> voll...
Denn die von Docker abgerufenen Basisimages wie C...
Inhaltsverzeichnis 1. Fehlermeldung 2. Fehlerursa...
Dieser Artikel beschreibt anhand von Beispielen d...
Kürzlich wurde bei einem Online-Sicherheitsscan e...
Wie wird die Zeilenhöhe vererbt?Schreiben Sie ein...
Inhaltsverzeichnis Vorwort Zusammenfassung der Au...
Vorwort In der letzten Ausgabe haben wir Ihnen Li...
Der folgende Code führt MySQL ein, um einige Feld...
CSS: Code kopieren Der Code lautet wie folgt: html...
MQTT-Protokoll MQTT (Message Queuing Telemetry Tr...
Vorbereiten Umweltinformationen zu diesem Artikel...
Im Vergleich zum Windows-System bietet das Linux-...
Was ist eine Tabelle? Es besteht aus Zellenzellen...
1. Spring Boot unterstützt kein JSP-JAR-Paket, JS...