MySQL-Ansicht ist eine virtuelle Tabelle, deren Inhalt durch eine Abfrage definiert wird; die Ansicht enthält eine Reihe benannter Spalten- und Zeilendaten, und die Zeilen- und Spaltendaten stammen aus der Tabelle, auf die durch die Abfrage verwiesen wird, die die Ansicht anpasst, und sind dynamisch Wird generiert, wenn auf die Ansicht verwiesen wird. Einfach ausgedrückt ist eine Ansicht eine Tabelle, die aus ausgewählten Ergebnissen besteht.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, MySQL Version 5.7, Dell G3-Computer.
Was sind MySQL-Ansichten? Bedeutungs- und Verwendungsanalyse anzeigen
Zum Beispiel
Verwenden Sie den Abfragetabellenbefehl
SELECT * FROM 表名 ;
Sie können eine Tabelle sehen und was Sie sehen, wird als Ansicht bezeichnet.
Anforderungen: Erstellen Sie eine Ansicht und fragen Sie Schüler ab, die älter als 20 sind gerade erstellt
Der Inhalt in der Tabelle ist der erforderliche Inhalt
Basierend auf der Ansicht können wir weiterhin den gewünschten Inhalt abfragen, z. B. die Abfrage von Personen mit dem Namen ls, die über 21 Jahre alt sind, kann die Effizienz verbessern und Betriebskosten senken.
Ändern Sie die Ansicht
CREATE VIEW stu_age_view AS(SELECT * FROM stu WHERE age>20);
CREATE OR REPLACE VIEW 视图名 AS(SELECT [...] FROM [...] );
mysq | Das Ergebnis der Ansichtsausführung wird zunächst abgerufen, und das Ergebnis bildet ein Zwischenergebnis und wird vorübergehend im Speicher gespeichert.
Der Unterschied zwischen Ersetzung und Verdinglichung.
Dann schauen wir uns diese Ansicht an CREATE OR REPLACE VIEW stu_age_view
AS(SELECT * FROM stu );
, dann ist seine interne Betriebslogik
SELECT * FROM (SELECT *FROM stu WHERE age >20) tihuan;
直接将stu_age_view
的代码替换出来;
如果是具化式,那么它就是先把符合条件的查询出来放在一张表(内存)里,然后直接查询这张表。
(SELECT * FROM stu WHERE age >20) AS TEMPTABLE;SELECT * FROM TEMPTABLE;
上面这两条语句无法运行,只是为了方便举例提出。
那么我们再说回创建视图
ALGORITHM参数(三个)
merge | TEMPTABLE | UNDEFINED |
---|---|---|
处理方式替换式,可以进行更新真实表中的数据 | 具化式,由于数据存储在临时表中,所以不可以进行更新操作 | 没有定义ALGORITHM参数,mysq更倾向于选择替换方式,因为它更加有效。 |
用参数创建视图
CREATE ALGORITHM = MERGE VIEW stu_age_viewAS(SELECT * FROM stu WHERE age >20);
还有两个需要注意的东西是
更新数据时不能插入或更新不符合视图限制条件的记录。
比如上面我们查询了一张年龄大于20的视图,那么在这张视图里面更新数据时如果年龄小于20则会报错。
为可选参数,决定了检查测试的范围,默认值为CASCADED
【相关推荐:mysql视频教程】
Das obige ist der detaillierte Inhalt vonWas ist MySQL-Ansicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!