SELECT stu_name FROM view_students_info;什么是视图
视图与表有什么区别
下面让我们来看一张图:

图片来源:《sql基础教程第2版》
总结视图与表的关系:“视图不是表,视图是虚表,视图依赖于表”。
1、创建或者修改视图
创建视图的语法为:
CREATE VIEW <视图名称>(<列名1>,<列名2>,...) AS <SELECT语句>视图不仅可以基于真实表,我们也可以在视图的基础上继续创建视图。

图片来源:《sql基础教程第2版》
示例:
#加上OR REPLACE参数,如果已经存在该视图,则可以直接替换该视图
#column_list列表的字段要与select查询返回的字段一样,可以起别名
create OR REPLACE
VIEW test_view(t_sellerid,t_name,t_nickname)
as
SELECT sellerid,name,nickname FROM tb_seller;
修改视图的语法为:
ALTER VIEW view_name (<列名1>,<列名2>......) AS select_statement示例:
alter VIEW test_view(t_sellerid,t_name)
as
SELECT sellerid,name FROM tb_seller;
修改视图也可以使用创建的语法,只需要加上OR REPLACE参数即可!
2、查看视图
如果需要查询某个视图的定义,可以使用 SHOW CREATE VIEW 命令进行查看。因为视图本身也是一张表,所以查询视图数据的命令与查询表是一样的;
#查看视图的定义
show create view test_view;
#查看视图的数据
SELECT * from test_view;
3、删除视图
DROP VIEW [IF EXISTS] view_name [view_name...] 示例 , 删除视图test_view:
drop VIEW if EXISTS test_view;4、视图与表的区别
视图与表的区别:
视图的创建和删除,不会影响到表
视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的表,而表不是
视图用户只能查询或修改他们所能见到得到的字段与数据
视图是虚拟存在的,不占磁盘空间。而表是实际存在的并且是存储在磁盘空间中
为什么要选择视图,而不直接操作表?
安全:视图可以不给用户接触数据表,从而不知道表结构。用户只能查询或修改他们所能见到得到的数据,
简单:对很复杂的表(或很复杂并且需要频繁用到的查询)建立视图,可以直接过滤掉大部分字段与结果集,用户直接在此视图上操作可以大大提高用户的操作效率;
文章转载自程序猿小左,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




