MySQL提供了視圖功能,它可以看作是虛擬的表,本質(zhì)上是一個(gè)動(dòng)態(tài)的查詢結(jié)果集,它具有表的結(jié)構(gòu),但是不存儲(chǔ)數(shù)據(jù)。
要建立一個(gè)視圖,需要使用CREATE VIEW語句。語法如下:
CREATE VIEW view_name AS SELECT column1, column2, column3, ... FROM table_name WHERE condition;
其中,view_name是視圖的名稱,column1,column2,column3等是要查詢的列名,table_name是要查詢的表的名稱,condition是查詢的條件。
舉一個(gè)例子,假設(shè)有一個(gè)student表,其中包含了學(xué)生的基本信息和成績(jī)信息,現(xiàn)在我們希望建立一個(gè)視圖,僅包含學(xué)生姓名和總成績(jī):
CREATE VIEW v_total_score AS SELECT name, score1+score2+score3 as total_score FROM student;
這樣,我們就建立了一個(gè)名為v_total_score的視圖,該視圖包含了學(xué)生姓名和總成績(jī)。我們可以像操作普通表一樣使用該視圖進(jìn)行查詢,例如:
SELECT * FROM v_total_score WHERE total_score >200;
注意,視圖可以轉(zhuǎn)換為其他視圖或表的一部分使用,它可以嵌套,也可以同普通表一樣建立索引,因此在數(shù)據(jù)分析、BI等場(chǎng)景下經(jīng)常會(huì)使用到視圖。