首页 > 其他分享 >视图

视图

时间:2023-07-12 16:15:39浏览次数:30  
标签:基表 创建 视图 查询 插入 数据

视图

视图是基于一张或多张表或另外一个视图的逻辑表。视图不同于表,视图本身不包含任何数据。表是实际独立存在的实体,是用于存储数据的基本结构。而视图只是一种定义,对应一个查询语句。视图的数据都是来源某些表,这些表被称为基表。通过视图来查看表,就像从不同角度来观察一个或多个表

视图的一些有点:

  • 可以提高数据的访问安全性,通过视图往往只可以访问数据库中表的特定部分,限制了用户访问表的全部行和列。

  • 简化了对数据的查询,隐藏了查询的复杂性。视图的数据来自一个复杂的查询。用户对视图的检索却很简单。

  • 视图是相同数据的不同表示,通过为不同的用户创建一个表的不同视图,使用户可分别访问同一个表的不同部分。

视图可以在表的能够使用的任何地方使用,但在对视图的操作上同表相比有些限制,特别是插入和修改操作。对视图的操作将传递到基表,所以在表上定义的约束条件和触发器在视图上将同样起作用。

  1. 视图的创建

    创建视图需要create view系统权限,视图的创建语法如下:

    CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 视图名[(列别名1[,列别名2..])]
    as 子查询
    [WITH CHECK OPTION [CONSTRAINT 约束名]]
    [WITH READ ONLY]

    OR REPLACE 表示替代已经存在的视图

    force 表示不管基表是否存在,创建视图

    noforce 表示只有基表存在时,才创建视图,是默认值。

    with check option 更新或者插入数据时满足where条件。

    with read only 只读 不能插入数据

    --eg 给列取别名,后面的子查询不能用*对应。
    create or replace force view v_emp (a,b,c)
    as
    select empname,deptno ,sal from emp where deptno='20'
    with check option
    with read only;

    来自基表的限制

    除了以上的限制,基表本身的限制和约束也要考虑。如果生成子查询的语句是一个分组查询,或查询中出现计算列,这时显然不能对表进行插入。另外,主键和not null列如果没有出现在视图的子查询中,也不能对视图进行插入(插入的数据存入基表时,这些值默认空违反基表约束)。在视图中插入的数据必须满足基表的约束条件。

     

标签:基表,创建,视图,查询,插入,数据
From: https://www.cnblogs.com/xjianbing/p/17547739.html

相关文章

  • iOS 开发入门 3-基础: iOS 视图控件 UIView
    相信大家通过前两篇文章已经大致了解了OC当中的数据组成部分,今天正式开始咱们iOS开发最主要的一个环节视图控件的使用.在正式开始讲解UIView之前我们需要先了解下什么是视图控件.其实视图控件的概念很好理解,比如说我们在打开某一应用的时候在手机上所看到的所有界面组成元素都是......
  • Hive中怎样创建和查询视图信息?
    视图是从数据库的数据表中选取出来的数据组成的逻辑窗口,它是一个虚拟机表。引入视图后,用户可以将注意力集中在关心的数据上,如果数据来源于多个基本表结构,并且搜索条件比较复杂时,需要编写的查询语句就会比较烦琐,此时可以使用视图将数据查询语句变得简单可行。Hive中的视图是一种无......
  • mysql数据库语法总结--存储过程、函数、视图、触发器、表
    ​概述抽空总结一下mysql的一些概念性内容,涉及存储过程、函数、视图、触发器等。一、查看存储过程、函数、视图、触发器、表1、存储过程select*frommysql.procwheretype='PROCEDURE';showprocedurestatus;showcreateprocedureproc_name;//存储过程定义​编......
  • 视图中的难点:主键表 About Key-Preserved Tables
    http://wmlm.itpub.net/post/12871/278640因为在项目中大量地使用了视图,而在视图上的更新上产生了一点儿问题,所以抽时间对可更新视图进行了复习,英文看得多了,也就成了中文 测试用表CREATETABLEDept_tab(DeptnoNUMBER(4)PRIMARYKEY,DnameVARCHAR2(14),LocVARCHAR2(13));CR......
  • 单视图几何
    无穷远点(也称理想点)和无穷远线和无穷远平面2D:这个无穷只能在齐次坐标下表示,在欧式坐标系下并不方便所有理想都可以写成(x1,x2,0),并由比率x1:x2指定一个具体的理想点直线的齐次表示:性质1:对于直线ax+by+c=0,我们可以用向量(a,b,c)T来表示,而且对于任何非零常数k直线ax+by+c=0......
  • 【九】MySQL数据库之视图,触发器与存储过程
    【九】MySQL数据库之视图,触发器与存储过程视图,触发器与存储过程【一】视图视图是一个虚拟表(非真实存在)其本质是【根据SQL语句获取动态的数据集,并为其命名】用户使用时只需使用【名称】即可获取结果集可以将该结果集当做表来使用。使用视图我们可以把查询过程中的临......
  • 视图
    创建create[orreplace]view视图名称[(列名列表)]asselect语句--如果要替换视图,要加上orreplace 视图的检查选项当使用WITHCHECKOPTION子句创建视图时,MySL会通过视图检查正在更改的每个行,例如插入,更新,删除,以使其符合视图的定义。MySOL允许基于另一个视图创......
  • thinkphp6:使用view视图/模板(thinkphp v6.0.12LTS)
    一,在使用之前,需要用composer安装需要的view模块:参见:https://blog.imgtouch.com/index.php/2023/06/29/thinkphp6-bao-cuo-driver-think-not-supported/二,php代码:<?phpdeclare(strict_types=1);namespaceapp\controller;useapp\BaseController;usethink\fa......
  • 单视图几何
    无穷远点(也称理想点)和无穷远线和无穷远平面2D:这个无穷只能在齐次坐标下表示,在欧式坐标系下并不方便所有理想都可以写成(x1,x2,0),并由比率x1:x2指定一个具体的理想点直线的齐次表示:性质1:对于直线ax+by+c=0,我们可以用向量(a,b,c)T来表示,而且对于任何非零常数k直线ax+by+c=0......
  • 07前后端项目上传gitee,后端多方式登录接口,发送短信功能,发送短信封装,短信验证码接口,短
    1前后端项目上传到gitee#公司里: -前端一个仓库---》一个团队-后端一个仓库---》一个团队-微服务:两三个人一个服务---》一个项目一个仓库-网上开源软件,前后端都在一起#在远端建立前端仓库#本地代码提交到远成仓库2后端多方式......