淘先锋技术网

首页 1 2 3 4 5 6 7
---视图的深入学习---

什么是视图?                                                                                                                                                    

视图是基于SQL语句的结果集的可视化表视图包含行和列,就像一个真实的表。

视图中的字段就是来自一个或多个数据库中的真实的表中的字段。

我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

视图也可以理解为像Java中给一段代码起个名字(方法),执行方法会出现结果,执行视图也可以出结果

视图仅仅是展示数据的,里面只有查询语句,而且只有一个,只是把SQL语句封装了起来,提高了代码的复用性


为什么要使用视图?                                                                                                                                         

1.提高代码复用性,简化操作,提高工作效率                                                    

2.保护数据,可以授予用户访问表的特定部分的权限,而不是整个表的访问权限

          3.可以限制用户只能通过视图检索数据,这样就可以对最终用户屏蔽建表时底层的基表

4.可以根据自己的需要从多张表中抽取出自己想要的数据,以便自己的后续操作


怎么使用视图?                                                                                                                                             

创建视图                                                                                                                                                        

          首先要具有足够的访问权限,这些权限通常由数据库管理人员授予           grant create synonym to username; 

            创建视图          create [or replace] [force | noforce] view view_name as select  ... [with read only constraint];

注意:视图是展示数据,里面只有查询语句,而且只有一个

语法解释                                                                                                                                                      

or replace:            如果视图已经存在,则替换旧视图                                                                            

                         force :              即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用

noforce:    如果基表不存在,无法创建视图,该项是默认选项                                                            

with read only:   只读视图,不能进行增删改等操作,一般不通过视图对表中的数据进行增删改操作。

删除视图                                                                                                                                                   

drop view view_name   这是删除整个视图,不会对基表数据造成影响

注意: 对视图中的内容做修改的话也会对基表造成影响    

修改视图                                                                                                                                                   

                修改视图数据不像修改数据库那样可以直接修改,要修改的话只能新建一个  ,可以根据需求使用上面的关键字

总结                                                                                                                                                        

视图只是展示数据的,是根据其它基表创建的,是为了方便操作才创建的视图,就是一真实的

 表修改视图里的数据也会对基表数据做出改变,而删除视图则不会对基表数据有影响,视图的

出现就是为了方便快捷安全的操作数据库的。