不同数据库怎么获取视图信息(查询视图的sql命令)
【本文详细介绍了数据库的基础知识之视图的基本概念和常用操作不同数据库怎么获取视图信息,欢迎读者朋友们阅读、转发和收藏不同数据库怎么获取视图信息!】
1 基本概念1.1 视图的概念1. 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。
2. 从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据;从数据库系统内部来看,一个视图是由 SELECT 语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表 一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。
3. 根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。
1.2 视图的优点1. 简化数据操作不同数据库怎么获取视图信息:视图可以简化用户处理数据的方式。
2. 着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。
3. 视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限。
4. 提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。
5. 自定义数据:视图允许用户以不同方式查看数据。
6. 导出和导入数据:可使用视图将数据导出到其他应用程序。
7. 有灵活性的功能需求后,需要改动表的结构而导致工作量比较大,那么可以使用虚拟表的形式达到少修改的效果。这是在实际开发中比较有用的
8. 复杂的查询需求,可以进行问题分解,然后将创建多个视图获取数据。将视图联合起来就能得到需要的结果了。
1.3 视图的操作创建视图
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name[(alias[, alias]...)]AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY]OR REPLACE :若所创建的试图已经存在, ORACLE 自动重建该视图;FORCE :不管基表是否存在 ORACLE 都会自动创建该视图;NOFORCE :只有基表都存在 ORACLE 才会创建该视图:alias :为视图产生的列定义的别名;subquery :一条完整的 SELECT 语句,可以在该语句中定义别名;WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;WITH READ ONLY :该视图上不能进行任何 DML 操作。查询视图
视图创建成功后,可以从视图中检索数据,这点和从表中检索数据一样。还可以查询视图的全部信息和指定的数据行和列。
删除视图
DROP VIEW VIEW_NAME 语句删除视图。
删除视图的定义不影响基表中的数据,只有视图所有者和具备 DROP VIEW 权限的用户可以删除视图。视图被删除后,基于被删除视图的其他视图或应用将无效。
更新视图
更新视图是指通过视图来插入、更新、删除表数据,因为视图是虚表,其中没有数据。
通过视图更新的时候都是转到基表进行更新,如果对视图增加或者删除记录,实际上是对基表增加或删除记录。
当视图中包含如下内容的时候,视图的更新操作将不能被执行
( 1 )视图中包含基本中被定义为非空的列
( 2 )定义视图的 SELECT 语句后的字段列表中使用了数学表达式
( 3 )定义视图的 SELECT 语句后的字段列表中使用聚合函数
( 4 )定义视图的 SELECT 语句中使用了 DISTINCT 、 UNION 、 TOP 、 GROUP BY 、 HAVING 子句