精华内容
下载资源
问答
  • 创建视图

    2017-08-25 19:36:33
    2.创建视图语句: Create [or replace] view 视图名称as子查询; or replace:如果视图名称相同则覆盖掉原来的视图(慎用) 3.查看视图语句: select * from 视图名称 范例:列出部门名称各这些部门的员工作信息...

    1.需要的创建表(可视化工具案例表)的代码在一些链接:

    http://blog.csdn.net/m0_37971876/article/details/77585374

    2.创建视图语句:

    Create [or replace]view视图名称as子查询;

    or replace:如果视图名称相同则覆盖掉原来的视图(慎用)

    3.查看视图语句:

    select * from 视图名称

    ************************************************************************

    范例:列出部门名称各这些部门的员工作信息(数量,平均工资),同时列出那些没有员工的部门。

    CREATE VIEW my_viem1 AS SELECT
    d.deptno,
    d.dname,
    d.loc,
    count( e.empno ) count,
    avg( e.sal ) avg
    FROM
        emp e,
        dept d
    WHERE
        e.deptno ( + ) = d.deptno
    GROUP BY d.deptno,d.dname,d.loc;



    2.查看视图

    select * from my_viem1;


    展开全文
  • 创建视图在单表上创建视图在多表上创建视图

    创建视图

    CREATE [ALGORITHM ={ UNDEFIEND | MERGE | TEMPTABLE }]
    VIEW 视图名 [ ( 属性清单) ]
    AS SELECT 语句
    [ WITH [ CASCADED | LOCAL ] CHECK OPTION ];
    ALGORITHM 是可选参数,表示视图选择的算法;
    “视图名”参数表示要创建的视图的名称;
    “属性清单”是可选参数,其指定了视图中各种属性的名词,默认情况下与 SELECT 语句中查询的属性相同;
    SELECT 语句参数是一个完整的查询语句,标识从某个表查出某些满足条件的记录,将这些记录导入视图中;
    WITH CHECK OPTION 是可选参数,表似乎更新视图时要保证在该视图的权限范围之内;
    ALGORITHM 包括 3 个选项 UNDEFINED、MERGE 和 TEMPTABLE。其中,UNDEFINED 选项表示 MySQL 将
    自动选择所要使用的算法;MERGE 选项表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分
    取代语句的对应部分;TEMPTABLE 选项表示将视图的结果存入临时表,然后使用临时表执行语句;CASCADED
    是可选参数,表示更新视图时要满足所有相关视图和表的条件,该参数为默认值;LOCAL 表示更新视图时,要
    满足该视图本身的定义条件即可;

    在单表上创建视图

    eg:

    CREATE VIEW v1 AS SELECT * FROM t_book;
    CREATE VIEW v2 AS SELECT bookName,price FROM t_book;

    eg:起别名

    CREATE VIEW v3(bie_ming1,bie_ming2) AS SELECT bookName,price FROM t_book;

    在多表上创建视图

    eg:

    CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id; 

    展开全文
  • 创建视图 CREATE VIEW 视图名(列1,列2...) AS SELECT (列1,列2...) FROM ...; 使用视图 当成表使用就好 修改视图 CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...]; 查看数据库已有...

    0 视图相关的MySQL指令

    操作指令 代码
    创建视图 CREATE VIEW 视图名(列1,列2...) AS SELECT (列1,列2...) FROM ...;
    使用视图 当成表使用就好
    修改视图 CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];
    查看数据库已有视图 >SHOW TABLES [like...];(可以使用模糊查找)
    查看视图详情 DESC 视图名或者SHOW FIELDS FROM 视图名
    视图条件限制 [WITH CHECK OPTION]

    1 视图

    百度百科定义了什么是视图,但是对缺乏相关知识的人可能还是难以理解或者只有一个比较抽象的概念,笔者举个例子来解释下什么是视图。

    朕想要了解皇宫的国库的相关情况,想知道酒窖有什么酒,剩多少,窖藏多少年,于是派最信任的高公公去清点,高公公去国库清点后报给了朕;朕又想知道藏书情况,于是又派高公公去清点并回来报告给朕,又想知道金银珠宝如何,又派高公公清点。。。过一段时间又想知道藏书情况,高公公还得重新再去清点,皇上问一次,高公公就得跑一次路。

    后来皇上觉得高公公不容易,就成立了国库管理部门,小邓子负责酒窖,小卓子负责藏书,而小六子负责金库的清点。。。后来皇上每次想了解国库就直接问话负责人,负责人就按照职责要求进行汇报。 
    视图

    安排专人管理后,每次皇上想要了解国库情况,就不必让高公公每次都跑一趟,而是指定的人员按照指定的任务完成指定的汇报工作就可以了。

    和数据库相对应,每次进行查询工作,都需要编写查询代码进行查询;而视图的作用就是不必每次都重新编写查询的SQL代码,而是通过视图直接查询即可。因此:

    视图是虚拟表,本身不存储数据,而是按照指定的方式进行查询。

    比如,我们希望从前文提到的四张表,order_baisc,order_details,user和product中查找所有记录,需要写入代码指令: 
    查询
    想再次查询这几个表中uid为u0001的用户的记录,有需要键入一次操作指令: 
    查询
    也就是说,每次查询都得重新键入查询指令SQL代码,这种费时费力的体力活,对于时间就是生命的你我来说,是不划算的。所以借助视图,来执行相同或相似的查询。

    2 创建视图

    2.1 创建视图create view 
    创建视图的代码为:

    >CREATE VIEW 视图名(列1,列2...)
     AS SELECT (列1,列2...)
     FROM ...;
    • 1
    • 2
    • 3

    可以看到,创建视图和查询相比,增加了前面的CREATE VIEW 视图名 AS

    2.2 视图运用

    使用视图和使用表完全一样,只需要把视图当成一张表就OK了。视图是一张虚拟表。

    eg:创建order_baisc,order_details,user和product的查询视图,并通过视图查找uid为u0001的记录: 
    创建视图

    2.3 修改视图CREATE OR REPLACE VIEW

    修改和创建视图可以使用代码:

    CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];
    • 1

    eg: 
    修改视图

    2.4 查看视图 
    (1)查看数据库中有哪些视图 show tables 
    前面提到,视图就是虚拟的表,因此,查看视图的方法和查看表的方法是一样的:

    >SHOW TABLES;
    • 1

    查看视图

    通过show tables;反馈得到所有的表和视图。同样的,我们可以通过模糊检索的方式专门查看视图,这个时候,视图的命令统一采用v_视图名v_视图名的优势就体现出来了。 
    (2)查看视图详情 
    查看视图详情的方法有两种,一种是和查看表详情一样使用desc 视图名,另外一种方法是show fields from 视图名

    >DESC 视图名;
    或者
    >SHOW FIELDS FROM 视图名;
    • 1
    • 2
    • 3

    查看视图详情

    两种方法得到的详情都是一毛一样的。

    3 视图与数据变更

    3.1 表格数据变更 
    将表product中的数据进行更新,在通过视图检索:

    视图与数据变更

    可以看到表格数据变化后,在通过视图检索,得到的结果也同步发生了变化,因此,在此证明了:

    视图不是表,不保存数据,知识一张虚拟表;

    3.2 通过视图变更数据

    • (1)插入数据
    >INSERT INTO v_order(pid,pname,price) VALUES('p010','柴油','34');
    • 1

    在此查询视图,发现插入了数据。

    视图变更数据

    • (2)跨表插入数据 
      通过上图,我们可以看到,跨表插入数据系统反馈报错,提示不能修改超过一个表的数据。

    因此,可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

    • (3)WITH CHECK OPTION 
      如果在创建视图的时候制定了“WITH CHECK OPTION”,那么更新数据时不能插入或更新不符合视图限制条件的记录。

      eg:对表product创建一个单价超过3000的视图,并加上“WITH CHECK OPTION”,之后插入一个价格为42的记录:

      “WITH CHECK OPTION”

      可以看到系统提示错误CHECK OPTION FAILED。因为视图限制了价格要高于3000. 
      后面再次尝试了不加“WITH CHECK OPTION”的视图,后者可以成功插入。

      同样的,在不加“WITH CHECK OPTION”的情况下,通过视图修改记录,也可以成功执行: 
      修改记录

    通过视图修改,可能导致数据无故消失,因此:

    没有特殊的理由,建议加上“WITH CHECK OPTION”命令。

     

     

    注意点: 
    1. 视图不是表,不直接存储数据,是一张虚拟的表; 
    2. 一般情况下,在创建有条件限制的视图时,加上“WITH CHECK OPTION”命令。

    展开全文
  • PostgreSQL创建视图

    千次阅读 2020-06-28 18:24:03
    在PostgreSQL中,视图(VIEW)是一个伪表。 它不是物理表,而是作为普通表选择查询。视图也可以表示连接的...可以使用CREATE VIEW语句来在PostgreSQL中创建视图。 您可以从单个表,多个表以及另一个视图创建它。 语法 CR

    在PostgreSQL中,视图(VIEW)是一个伪表。 它不是物理表,而是作为普通表选择查询。视图也可以表示连接的表。 它可以包含表的所有行或来自一个或多个表的所选行。
    视图便于用户执行以下操作

    • 它以自然和直观的方式构建数据,并使其易于查找。
    • 它限制对数据的访问,使得用户只能看到有限的数据而不是完整的数据。
    • 它归总来自各种表中的数据以生成报告。

    PostgreSQL创建视图
    可以使用CREATE VIEW语句来在PostgreSQL中创建视图。 您可以从单个表,多个表以及另一个视图创建它。
    语法

    CREATE [TEMP | TEMPORARY] VIEW view_name AS  
    SELECT column1, column2.....  
    FROM table_name  
    WHERE [condition];
    

    PostgreSQL创建视图示例
    考虑一个表“EMPLOYEES”,具有以下数据。
    现在,我们从“EMPLOYEES”表创建一个视图。 此视图将仅包含EMPLOYEES表中的几个列:
    执行以下查询语句:

    CREATE VIEW current_employees AS  
    SELECT NAME, ID, SALARY 
    FROM EMPLOYEES;
    

    执行结果如下 -
    在这里插入图片描述
    找出上面创建的视图,如下可以看到:
    在这里插入图片描述
    现在,您可以从视图“current_employees”中使用简单的查询语句检索数据。会看到下表:

    SELECT * FROM current_employees;
    

    执行上面的查询语句,得到以下结果 -
    在这里插入图片描述

    PostgreSQL DROP视图
    按着下面这些次序操作删除就好了:

    选择视图“current_employees”并右键点击。您将看到一个删除/移除选项,点击它。
    视图是永久删除的。所以一但删除了以后,在数据库中就不会存在了。您还可以使用DROP VIEW命令删除或删除视图。

    语法

    DROP VIEW view_name;
    

    要删除上面的例子中创建的视图,可执行以下SQL语句:

    DROP VIEW current_employees;
    
    展开全文
  • 一、创建视图 语法:          create view 视图名          as          查询语句; ...
  • MySQL创建视图

    2018-08-19 22:26:08
    创建视图的语法格式  视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可以建立在多张表上  MySQL中,使用CREATE VIEW语句,创建视图 语法格式 ...
  • 视图 视图定义: 基于多表的预定义查询,这些表称为基表 可以通过视图对基表进行DML操作 在视图中检索信息与从基表中检索信息方法完全相同注意...限制用户只能访问基表的部分数据,实现安全性创建视图 create
  • 一、创建视图 方法一:图形化方式进行创建(如图) 方法二:SQL查询语句的方式创建视图(如图) 二、修改和删除视图 方法一:图形化方式——直接在界面上进行拖动操作,删除更加简单,单击鼠标右键直接删除就好...
  • 创建视图权限

    2017-12-27 16:21:24
    如果只是查找同一方案中的表去创建视图,则只需要该用户有createview的权限便可创建。但是如果创建的视图涉及到要查询别的方案中的表,这时我们就需要select any table的权限了。 授权命令: CMD: sqlplus ...
  • 数据库创建视图

    千次阅读 2018-05-14 13:29:56
    创建视图:create view 数据库名 (拥有者)视图名(列名)with encryption,schemabinding,view_metadataas select 语句with check optionwith encryption 用于加密create view脚本schemabinding 将视图绑定基本表...
  • SQL创建视图

    2019-03-28 11:26:37
    if exists (select * from sysobjects where name = 'View_Jm_EdsProd') drop view View_Jm_EdsProd... --创建视图 create view View_Jm_EdsProd with encryption as select * from Tab_EdsProd where Mid>1 g...
  • Oracle 数据库创建视图

    2019-08-08 10:34:35
    首先应确认登录用户有无创建视图的权限,如没有,请以DBA用户登录,赋予ceshi用户创建视图的权限; grant create view to ceshi;--1.以DBA用户登录赋予权限; create view vi_boss as select b.first_name,b....
  • Oracle中创建视图

    千次阅读 2018-07-17 16:14:34
    Oracle中创建视图  视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。  视图是存储在数据字典里的一条select语句。 通过创建视图可以...
  • Mysql创建视图语法及其创建种类

    千次阅读 2018-01-11 14:55:20
    Mysql创建视图语法及其创建种类
  • Oracle创建视图、通过视图创建表

    千次阅读 2017-10-21 19:11:32
    创建视图: [sql] view plain copy   print? create or replace view v$_tst23 as  select e.ename,d.dname from emp e left join dept d on e.deptno = d.deptno;  ...
  • MySQL——创建视图

    千次阅读 2018-05-16 20:05:04
    创建视图是指在已经存在的数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。一. 查看用户是否具有创建视图的权限 创建视图需要具有 CREATE VIEW 的权限,同时应该具有查询涉及的列的 ...
  • Oracle数据库创建视图

    2020-01-02 16:19:56
    Oracle数据库用户创建视图 学生表(学生编号、学员姓名、学员年龄) 课程表(课程编号、课程名称、所在阶段) 成绩表(学员编号、课程编号、分数、考试时间) 1.为教员级别的用户创建一个视图,用来查询每门课的课程...
  • Mysql 开启视图权限与创建视图教程

    万次阅读 2017-08-09 19:56:45
    Mysql 开启视图权限与创建视图教程
  • postgresql创建视图

    千次阅读 2016-12-14 18:25:15
    今天使用postgresql创建视图时,使用的名字全是大写的 比如V_TEST 创建好了,是没有问题的,显示创建的视图名字也是V_TEST。 然后我就开始查询, select * from V_TEST 直接就报错了,说v_test视图不存在。 我就...
  • MySQL创建视图语法,MySQL视图的作用

    千次阅读 2019-10-01 14:32:22
    MySQL创建视图语法,MySQL视图的作用 一、语法 1、 MySQL创建视图语法如下: CREATE VIEW view_name AS SELECT * FROM table_name ; 2、view_name:必填,唯一不可重复。 3、调用视图: SELECT * FROM ...
  • 创建视图 视图包含应用的 HTML 代码,并将应用的控制器逻辑和表现逻辑进行分离。视图文件存放在 resources/views 目录中。下面是一个简单的视图示例: <!-- resources/views/greeting.blade.php 视图文件 ...
  • SQLServer之创建视图

    万次阅读 2018-10-24 11:33:17
    使用SSMS数据库管理工具创建视图 1、连接数据库,选择数据库,展开数据库-》右键视图-》选择新建视图。 2、在添加表弹出框-》选择要创建视图的表、视图、函数、或者同义词等-》点击添加-》添加完成后选择关闭。 ...
  • 数据库 创建视图

    2016-06-23 14:22:13
    视图: 相当于定义了一个公式模板, 每次调用视图, 直接执行这个公式模板得到相应的数据 要执行的sql 语句: SELECT s.*,g.id as gid,g.grade,g.studentid from ...创建视图的语句: create view leftjoin as (SELE
  • 创建视图 创建数据库视图的方式:选中库,右键,点击命令列界面,输入下方的视图脚本 创建案件的视图CREATEVIEW `视图名称`AS select id,colum1,colum2,colum3,colum4,colum5from test; 添加一个可以查...
  • Oracle 创建视图、创建存储过程

    千次阅读 2017-07-24 10:05:08
    --创建视图 create or replace view view_TableA(视图名称) as select * from TableA(视图内容); select * from view_TableA ; --验证视图是否成功 --创建存储过程 create or replace procedure...
  • DB2 创建视图view

    千次阅读 2019-04-10 18:58:55
    业务有时候需要查询很多表,如果在存储过程编写,造成存储过程代码显得臃肿,不不方便查看,阻碍新来的同事查看逻辑...第一创建视图: create view ve_imonthncome as ( select * from vi_inconmAwhere 1=1 uni...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,567
精华内容 20,226
关键字:

创建视图