SQL 视图
1. 定义
编程之家解释:视图
是或多个表记录的集合,其结构和数据是建立在其它表的基础之上的。视图可以理解为表,它可以像表一样操作,但是视图不是真实存在,它只是一张虚表。
2. 前言
本小节,我们将一起学习 中的视图
。
在一些场景中,有些的结果集很大,且我们需要在多处复用到这些结果集;如果每次都去一次,会耗费大量的时间, 我们将这些数据集保存为视图,并且可以像操作表一样去操作这些视图。
本小节测试数据如下,请先在中执行:
DROP TABLE IF EXISTS imooc_user;CREATE TABLE imooc_user( id int PRIMARY KEY, username varchar(), age int);INSERT INTO imooc_user(id,username,age)VALUES (,'peter',),(,'pedro',),(,'jerry',),(,'mike',),(,'tom',);
3. 视图的创建与
视图的数据来源于。
其基础创建语法如下:
CREATE VIEW [view_name] ASSELECT [col] FROM [table_name];
视图也可以被,语法如下:
DROP VIEW [view_name];
其中 view_name
表示视图,col
代表字段,table_name
表示数据表。
请书写 语句, imooc_user 的所有 id
和 age
字段,并以该结果新建视图。
分析:
按照视图创建语法写出语句即可。
语句:
CREATE VIEW user_shorcut_view ASSELECT id,age FROM imooc_user;
创建成功后,结果如下:
# select * from user_shorcut_view; +----+----------+ | id | username | +----+----------+ | 1 | peter | | 2 | pedro | | 3 | jerry | | 4 | mike | | 5 | tom | +----+----------+
请书写 语句, user_shorcut_view
视图。
分析:
使用 Drop 指令该视图即可。
语句:
DROP VIEW user_shorcut_view;
4. 操作视图
视图可以像数据表一样操作,且数据表的数据被更新后,也会同步更新到与之相关的视图中。
请书写 语句,从 user_shorcut_view 视图中找出 id
为 2
的。
分析:
使用 Select 指令像数据表一样视图。
语句:
SELECT username FROM user_shorcut_view WHERE id = ;
结果如下:
+----------+ | username | +----------+ | pedro | +----------+
5. 小结
视图很大程度上可以简化操作,还可以定制数据。
视图不易创建过多,由于更新表的同时也会更新关联的视图,因此视图会降低
的。