精华内容
下载资源
问答
  • 数据库视图总结
    多人点赞
    2022-03-04 15:31:05

    1.1 视图概述

    视图是一个虚拟表,其内容由 select查询语句定义。和真实的表一样,视图也包含行和列,对视图的操作与对表的操作基本一致。视图中的数据是在使用视图时动态生成,视图中的数据都存储在基表中

    视图是一个虚拟表,是从数据库中一个或多个表中导出来的表,其内容由查询定义。同真实表一样,视图包含一系列带有名称的列和行数据。但是,数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来的表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变

    视图是存储在数据库中的查询的SQL语句,它主要出于两种原因:安全原因,视图可以隐藏一些数据,例如,员工信息表,可以用视图只显示姓名、工龄、地址,而不显示社会保险号和工资数等;另一个原因是可使复杂的查询易于理解和使用

    1.2 视图的作用

    对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其他数据库的一个或多个表,或者其他视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。视图的作用归纳为如下几点。

    1.2.1 简单性

    看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。

    1.2.2 安全性

    视图的安全性可以防止未授权用户查看特定的行或列,使有权限用户只能看到表中特定行的方法,如下:

    (1)在表中增加一个标志用户名的列。
    (2)建立视图,使用户只能看到标有自己用户名的行。
    (3)把视图授权给其他用户。

    1.2.3 逻辑数据独立性

    视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,程序一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。

    1.3 创建视图

    创建视图是指在已经存在的数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。

    1.3.1 查看创建视图的权限

    创建视图需要具有CREATE VIEW的权限。同时应该具有查询涉及的列的SELECT权限。可以使用SELECT语句来查询这些权限信息。查询语法如下:

    SELECT Select_priv,Create_view_priv FROM mysql.user WHERE user='用户名';
    

    参数说明:

    (1)Select_priv:属性表示用户是否具有SELECT权限,Y表示拥有SELECT权限,N表示没有。
    (2)Create_view_priv:属性表示用户是否具有CREATE VIEW权限;
    (3)mysql.user:表示MySQL数据库下面的user表。
    (4)用户名:参数表示要查询是否拥有权限的用户,该参数需要用单引号引起来。

    示例:查询MySQL中root用户是否具有创建视图的权限。

    SELECT * FROM mysql.user WHERE user='root';
    

    1.3.2 创建视图

    MySQL中,创建视图是通过CREATE VIEW语句实现的。其语法如下:

    CREATE [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
    VIEW 视图名[(属性清单)]
    AS SELECT语句
    [WITH [CASCADED|LOCAL] CHECK OPTION];
    

    参数说明:

    (1)ALGORITHM:可选项,表示视图选择的算法。
    (2)视图名:表示要创建的视图名称。
    (3)属性清单:可选项,指定视图中各个属性的名词,默认情况下与SELECT语句中的查询的属性相同。
    (4)SELECT语句:表示一个完整的查询语句,将查询记录导入视图中。
    (5)WITH CHECK OPTION:可选项,表示更新视图时要保证在该视图的权限范围之内。

    示例:创建视图:

    CREATE OR REPLACE VIEW view_user
    AS
    	SELECT id,name FROM tb_user;
    

    示例:创建视图同时,指定属性清单:

    CREATE OR REPLACE VIEW view_user (a_id,a_name)
    AS
    	SELECT id,name FROM tb_user;
    

    创建视图时需要注意以下几点:

    (1)运行创建视图的语句需要用户具有创建视图(create view)的权限,若加了[or replace]时,还需要用户具有删除视图(drop view)的权限;
    (2)select语句不能包含from子句中的子查询;
    (3)select语句不能引用系统或用户变量;
    (4)select语句不能引用预处理语句参数;
    (5)在存储子程序内,定义不能引用子程序参数或局部变量;
    (6)在定义中引用的表或视图必须存在。但是,创建了视图后,能够舍弃定义引用的表或视图。要想检查视图定义是否存在这类问题,可使用check table语句;
    (7)在定义中不能引用temporary表,不能创建temporary视图;
    (8)在视图定义中命名的表必须已存在;
    (9)不能将触发程序与视图关联在一起;
    (10)在视图定义中允许使用order by,但是,如果从特定视图进行了选择,而该视图使用了具有自己order by的语句,它将被忽略。

    1.4 修改视图

    修改视图是指修改数据库中已存在的表的定义。当基本表的某些字段发生改变时,可以通过修改视图来保持视图和基本表之间一致。MySQL中通过CREATE OR REPLACE VIEW语句和ALTER VIEW语句来修改视图。

    示例:修改视图

    ALTER VIEW view_user
    AS
    	SELECT id,name FROM tb_user where id  in (select id from tb_user);
    

    说明:ALTER VIEW语句改变了视图的定义,该语句与CREATE OR REPLACE VIEW语句有着同样的限制,如果删除并重新创建一个视图,就必须重新为它分配权限

    1.5 删除视图

    删除视图是指删除数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。MySQL中,使用DROP VIEW语句来删除视图。但是,用户必须拥有DROP权限

    示例:删除视图。

    DROP VIEW IF EXISTS view_user;
    

    1.6 MySQL视图中使用IF和CASE语句

    在创建视图时,经常需要使用到MySQL的流程控制语句,如:IF语句和CASE语句

    示例:创建MySQL视图中使用IF和CASE语句。
    (1)创建员工信息表

    	-- 判断数据表是否存在,存在则删除
    	DROP TABLE IF EXISTS tb_staff;
    	-- 创建数据表
    	CREATE TABLE IF NOT EXISTS tb_staff
    	( 
    		id INT AUTO_INCREMENT PRIMARY KEY COMMENT '编号',
    		NAME VARCHAR(50) NOT NULL COMMENT '姓名',
    		sex INT COMMENT '性别(1:男;2:女;)',
    		dept_code VARCHAR(10) COMMENT '部门编号',
    		is_post BIT COMMENT '是否在职(0:否;1:是)'
    	) COMMENT = '员工信息表';
    

    (2)新增员工数据

    -- 新增数据
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_01',1,'1001',1);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_02',2,'1002',1);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_03',1,'1003',0);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_04',1,'1001',1);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_05',2,'1008',1);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_06',1,'1001',0);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_07',2,'1002',1);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_08',1,'1003',0);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_09',1,'1001',1);
    INSERT INTO tb_staff(NAME,sex,dept_code,is_post) VALUES('pan_junbiao的博客_10',2,'1008',0);
    

    查询员工信息表结果:
    在这里插入图片描述
    (3)创建员工视图,在视图中使用IF和CASE语句

    -- 创建视图
    CREATE OR REPLACE VIEW view_staff
    AS
    	SELECT id 
    	,NAME
    	,IF(sex=1,'男','女') AS sex_name
    	,CASE dept_code
    		WHEN '1001' THEN '研发部'
    		WHEN '1002' THEN '人事部'
    		WHEN '1003' THEN '财务部'
    		ELSE '其他'
    	END AS dept_name
    	,IF(is_post,'在职','离职') AS is_post_name
    	FROM tb_staff
    ;
    

    查询员工视图结果:
    在这里插入图片描述

    1.7 总结

    视图是一种虚拟的表,数据来源于从实际表中查询的结果,它可以简化查询操作,以及提高数据库的安全性,视图可以修改但是有比较多的限制条件,一般还是用于查询。

    视图一般情况下是不存储数据的,所以修改数据也不会影响到视图,影响是基表中的数据,通过视图修改数据还是可行的,但是他有非常多的限制:

    1、SELECT列表中含有DISTINCT。
    2、SELECT列表中含有表达式。
    3、引用不可更新的视图。
    4、在FORM子句中引用多个表。
    5、GROUP BY或HAVING子句。

    更多相关内容
  • 数据库视图总结

    千次阅读 2018-05-25 11:22:30
    视图的概念VIEW ( 视 图 ) 是 一 个 或 多 个 表 的 部 分 数 据 , 它 可 以 像 表 一 样 进 行 CRUD 操 作 , 但 没 有 具 体 的 存 储 数 据 结 构 , 它 以 一 个 SELECTiä 句 的 形 式 存 在 数 据 库 中 。...
    视图的概念 VIEW ( 视 图 ) 是 一 个 或 多 个 表 的 部 分 数 据 , 它 可 以 像 表 一 样 进 行 CRUD 操 作 , 但 没 有 具 体 的 存 储 数 据 结 构 , 它 以 一 个 SELECTiä 句 的 形 式 存 在 数 据 库 中 。 本 质 : 一 条 有 名 字 的 SELECT 语 句 表 现 : 一 到 多 张 表 的 部 分 内 容
    视图的优点:
    限制数据库的访问
    简化查询
    数据的独立性
    对同一数据有不同的表现

    语法:
    OR REPLACE:表示如有相同的名字的视图对象则替换
    FORCE :如果subquery中源码不存在,先创建视图对象,这时视图对象虽创建,但不能正常使用。默认值为NOFORCE,即源表不存在,不能正常创建视图
    WITH CHECK OPTION:表示可以进行插入、更新和删除操作,但应该满足WHERE字句的条件
    WITH READ ONLY : 只允许进行select操作

    view分类
    简单视图:数据来源于一张表,不包含函数以及进行分组,可以进行DML操作
    复杂视图:数据来源于多个表,包含函数以及分组,不可以进行DML操作

    DEMO:
    1、创建一个名称为empvu45的视图,视图的数据来源于AS后面的子查询

    2、创建视图empvu45,如果视图已制度经存在就替换,并且这个视图只读,不可以进行增删改

    3、数据来源两张表的视图

    (完)
    展开全文
  • 视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。 数据库的设计和结构不会受到视图中的函数、...

    视图:

    什么是视图 ?
    在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
    数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响


    视图的操作:

    创建视图
    在这里插入图片描述


    修改视图
    在这里插入图片描述


    删除和查看视图
    在这里插入图片描述


    视图的更新
    在这里插入图片描述


    视图和表的的比较
    在这里插入图片描述


    练习
    在这里插入图片描述

    展开全文
  • 数据库视图

    千次阅读 2022-04-14 17:16:02
    数据库中的视图是一个虚拟表,同真实的表一样,视图包含一系列带有名称的行和列数据,行和列数据来自定义视图查询所引用的表,并且在引用视图时动态生成。视图是从一个或者多个表中导出的,视图的行为与表非常相似,...

    目录

    一、什么是视图

    二、如何创建视图

    1.创建视图

    2.语法解析

    三、如何使用视图

    1.视图查询操作

    2.视图新增操作

    3.视图删除操作

    4.视图修改操作 

    四、如何修改视图

    五、如何删除视图

    六、如何查看视图


    一、什么是视图

    百度百科的解释是:

    视图是一个虚拟表,视图并不在数据库中存储数据值,数据库中只在数据字典中存储对视图的定义。

    这显然是不能让我们满意的。

    数据库中的视图是一个虚拟表,同真实的表一样,视图包含一系列带有名称的行和列数据,行和列数据来自定义视图查询所引用的表,并且在引用视图时动态生成。视图是从一个或者多个表中导出的,视图的行为与表非常相似,但视图是一个虚拟表。在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE修改记录。视图可以使用户操作方便,而且可以保障数据库系统的安全。当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化。同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。

    视图是一个”虚表”,用大白话说,就是从已经存在的表的全部字段或数据中,挑选出来一部分字段或数据,组成另一张”并不存在的表”,这张虚表被称之”视图”。视图中的字段与对应的数据均来自已经存在的表。对于视图来说,这些已经存在的表就被称为”基表”。基表可以是一张表,也可以是多张表。视图的本质可以理解为一条查询语句,视图中显示的结果,就是这条查询语句查询出的结果。

    上面这一段话来自另外的一个博主的文章,在下面给出了引用链接。他的最后一句话说是一条查询语句,其实是不妥当的,应该是增删改查的语句。

    这篇文章中有一段话说得很好:

    不使用视图的理由:

    mysql对于视图的优化并不完善,这样说并不准确,准确的说,应该是mysql对于子查询的优化不是很好,而使用视图本身往往就意味着使用子查询,所以,如果我们必须使用视图时,最好将视图中的sql语句尽量优化,或者说,数据量大的时候尽量避免使用视图。

    事实确实如此。在写本文之前,我这么多年工作中从未使用过视图,以至于都忘记视图是怎么创建使用的了。在银行的开发中,我所涉及的项目从未有使用过视图,因为在一般情况下,基本的SQL就可以满足了,为什么要使用视图呢?你说呢?我所了解的,在上海的这些银行中,比如,交行卡中心、交总行、交银金科、建行、建信金科、建信人寿,我是没有见到过视图的,而且也从未听说过哪一位同事使用了视图。除此之外,其他如中行、上海银行、浦发银行,我的了解也没有听在里面的同事朋友使用过。 

    好了,我们总结一下吧!

    1、视图是一个虚拟表(逻辑表);

    2、视图中的行和列的数据来自一到多张物理表,也可以来源自其他视图;

    3、可以通过视图进行增删改查;

    4、如果通过视图进行增删改,那么物理表的数据也会随之做出同样的增删改;反之亦然。

    5、视图的使用比较少,起码相对于一般SQL来说,不在一个数量级上;

    6、视图是一种”虚表”,所以不能与已经存在的表重名。

    二、如何创建视图

    在创建视图之前,请先确定当前登录的数据库用户是否拥有创建视图的权限。

    select create_view_priv,select_priv from mysql.user where user='root' and host='localhost';

    查询结果中,create_view_priv的值为Y,表示当前用户拥有创建视图的权利。

    如果我们查询另外的用户: 

    select create_view_priv,select_priv from mysql.user where user='dake' and host='localhost';

     

    说明 dake 这个用户是不具备创建视图的权限的。

    下面我们说说如何创建视图。 

    1.创建视图

    CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name
    
    AS
    
    SELECT查询
    
    [WITH READ ONLY CONSTRAINT]

    2.语法解析

    1. OR REPLACE:如果视图已经存在,则替换旧视图。

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

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

    4. WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

    接着,我们创建一个视图。

    首先,给出我的基表—STUDENT表的数据:

     然后,我们创建一个视图:

     CREATE VIEW VU_STUDENT AS SELECT * FROM STUDENT WHERE ID > 2;

     然后查看视图的情况,使用命令我们后续再讲。

    查看视图的数据:

    对比 STUDENT 这个基表,我们发现少了2行数据,这少的两行数据就是我们创建视图的时候的SQL中做了限制。

    下面我们再看看视图的原生语句。

     

    我把SQL贴出来:

    CREATE
    OR REPLACE
    VIEW `VU_STUDENT` AS select
        `STUDENT`.`ID` AS `ID`,
        `STUDENT`.`NAME` AS `NAME`,
        `STUDENT`.`GENDER` AS `GENDER`,
        `STUDENT`.`AGE` AS `AGE`,
        `STUDENT`.`CLASS_ID` AS `CLASS_ID`,
        `STUDENT`.`ADDRESS` AS `ADDRESS`
    from
        `STUDENT`
    where
        `STUDENT`.`ID` > 2

     我们看到,它自动增加了 OR REPLACE ,说明 Maria 创建视图时的默认设置。然后把 select * 自动变更为了需要查询的字段,这个是一般SQL的基本操作。

    这里说一下视图的命名。视图的命名最好也是比较规范的写法是加上一定的前缀,当然后缀也可以,这个按照项目要求或者项目统一规范即可。

    比如,我这里就是 VU_ 加上了表名,即 VU_STUDENT 。如果是两张表的话,可以是:

    VU_表1的名字_表2的名字

     这种方式,当然如果表名比较长,或者是多张表,你也可以使用这几张表的简写,或者根据你这个视图的业务逻辑来命名。

    示例视图命令解读

    上面我们创建的视图命令,可以分两部分来解读:

    1、CREATE VIEW VU_STUDENT AS

    2、SELECT * FROM STUDENT WHERE ID > 2;

    其中第一部分表示我们要创建一个视图,视图名为 VU_STUDENT,第二部分表示该视图的业务逻辑。两部分结合起来就是一个完整的视图了。

    上面我们创建的这个视图,得到的列名是和 STUDENT表是一样的,当然我们也可以自行定义列名。不过这个一般很少有人这么做,如果这么做是真的有点扯淡,闲得蛋疼了。不过事无绝对,如果你的视图要和另外的视图或表联合使用,而几张表中表示相同意义的字段名不一样,你使用的时候就有点麻烦。假设有表A和表B,两个表的某一个字段是一个意义,但是名字不一样。此时把你创建的这个视图(假设数据来源自表A)的这一列的列名,修改为和另一张表(表B)的这个列名相同,然后你的业务代码或SQL中对这个视图和表B的操作就方便很多了。

    这个给视图字段起别名的做法就像我们建表时类似。

    CREATE VIEW VU_STD (S_ID, S_NAME, S_GENDER, S_AGE, S_CLASS_ID, S_ADDRESS) AS SELECT * FROM STUDENT WHERE ID > 2;

    此时如果我们查看数据以及列名的话会发现:

     一目了然了吧!

    我们创建这个视图非常简单,其实是因为我们的SQL业务逻辑简单,也就是 示例视图命令解读

    2 中的SQL语句简单了。我们最开始说了,可以增删改查的,那么当然可以使用子查询、连接、分组等等SQL的操作,这个就看你自己的业务逻辑了骚年。

    三、如何使用视图

    1.视图查询操作

    在 二 中我们说了,视图就是一张虚标,你把他当做表即可。

    SELECT * FROM VU_STUDENT;

    我们上面说了,视图可以增删改查,那么增删改怎么使用呢?

    2.视图新增操作

    我们使用视图增加一条记录到 STUDENT 表中:

    CREATE VIEW VU_STD_DLT AS INSERT INTO STUDENT VALUES (14, '范冰冰', '01', 39, 5	, '上海浦东陆家嘴1124号');

     结果呢?

    报错了。是我们SQL有问题吗?

    我们执行SQL插入的逻辑:

    INSERT INTO STUDENT VALUES (14, '范冰冰', '01', 39, 5	, '上海浦东陆家嘴1124号');

    结果呢?

     insert 语句没问题啊!这是什么情况呢?是不是因为我们这个用户的原因呢?我们把登陆用户修改为root试试。

    再新增一条语句:

    CREATE VIEW VU_STD_DLT AS INSERT INTO STUDENT VALUES (15, '范蠡', '00', 50, 0	, '上海浦东陆家嘴1125号');

    结果:

     哈哈!错误是一样的。

    3.视图删除操作

    既然新增不行,那么我修改删除呢?我们先增加一条记录,然后执行删除:

    INSERT INTO STUDENT VALUES (15, '范蠡', '00', 50, 0	, '上海浦东陆家嘴1125号');

    视图删除:

    CREATE VIEW VU_STD_DLT AS DELETE FROM STUDENT WHERE ID = 15;

    删除报错:

    4.视图修改操作 

    那么修改呢?估计也一样。

    CREATE VIEW VU_STD_UPD AS UPDATE STUDENT SET ID = 16 WHERE ID = 15;

    结果:

     通过这几个操作我们得出了结论:

    1、视图的查询操作,可以直接在客户端使用,但是增删改却是不行的;

    2、视图和真实的物理表还是有一些区别的。

    四、如何修改视图

    ALTER VIEW VU_STUDENT AS SELECT * FROM STUDENT WHERE ID > 10; 

    然后查询视图的数据

    SELECT * FROM VU_STUDENT;

     其中第五行是我后面加上的。

    可以看到修改视图很简单。

    五、如何删除视图

    DROP VIEW VU_STUDENT;

     

     如果删除一个不存在的视图呢?

     报错了,那么我们可以使用下面的命令避免这种情况:

    DROP VIEW IF EXISTS VU_STUDENT;

     这样就不会报错了。

    六、如何查看视图

    查看视图的结构:

    DESC VU_STUDENT;

     查看某数据库中所有的视图:

    select * from information_schema.views where table_schema= 'study';

    本文参考:

    MariaDB 视图与触发器

    mysql/mariadb知识点总结 之 视图管理语句

    Oracle 视图详解(view)

    展开全文
  • 数据库视图重点笔记

    2021-11-24 14:04:24
    视图说白了就是一个通过数据库实表建立起来主要用于应用查询的虚表(也可以理解为是存储在数据库中的查询的SQL语句),他是不占数据库内存的。他的存在一方面可以隐藏一些数据,使一些非必要展示出去的字段隐藏起来...
  • 数据库视图和索引游标实验报告.doc
  • MySQL数据库-视图

    2022-02-16 18:22:32
    这个虚拟的表并不在数据库中实际存在。 说白了,视图就是将一条SELECT查询语句的结果封装到了一个虚拟表中,所以我们在创建视图的时候,工作重心就要放在这条SELECT查询语句上。 视图的好处:简单、安全、数据独立。
  • MySQL 视图 总结

    2021-01-28 20:06:15
    数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。视图中的数据依赖于原来表中的数据,一旦表中数据发生改变,显示在...
  • ABAP中如何建数据库视图和维护视图

    千次阅读 2020-07-04 16:43:26
    背景:做为一个二次开发人员创建视图,最主要为数据库视图和维护视图。数据库视图:主要用于查询数据。维护视图:主要用于修改表的数据。 数据库视图过程如下 1.在SE11下输入视图名字 2.点关系; 3:选中然后点...
  •  关于用户、角色和权限信息的视图总结:  (1)all_users视图:可以查看当前用户可以看到的所有用户  (2)dba_users视图:可以查看数据库中所有的用户信息  (3)user_users视图:可以查看当前用户的用户...
  • 数据库(mysql)视图的基本操作

    千次阅读 2022-05-02 12:01:08
    视图是从一个或多个基本表导出的视图数据库中只存放视图的定义,而不存在视图对应的数据,这些数据仍然存储在对应的基本表中,当基本表中的数据发生变换时,视图中查询的数据也随之变化,视图相当于一个窗口,透过...
  • PAGE PAGE 1 项目3创建并使用索引和视图 5.5 同步实训创建与管理索引 6.6 同步实训创建与使用视图
  • 数据库视图详解

    万次阅读 多人点赞 2018-11-27 19:36:29
    一、视图的概念   视图(子查询):是从一个或多个表导出的虚拟的表,其内容由查询定义。具有普通表的结构,但是不实现数据存储。单表视图一般用于查询和修改,会改变基本表的数据;多表视图一般用于查询,不会...
  • 数据库视图数据是否可以直接删除

    千次阅读 2021-03-25 09:47:36
    数据库视图数据是否可以直接删除 文章目录数据库视图数据是否可以直接删除一、视图是什么?二、视图数据删除1.多表构成视图数据删除2.单表视图数据删除总结 一、视图是什么? 视图(VIEW)也被称作虚表,即虚拟的表...
  • 一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作组成;对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2....
  • 视图( view ): 视图概述: 通俗的讲, 视图就是一条 select 语句执行后返回的结果集 视图是对若干张基本表的引用, 一张虚拟表, 查询语句执行的结果, 不储存具体数据( 基本表数据改变, 视图也会跟着改变 ) 主要...
  • 数据库实验报告【索引和视图

    千次阅读 2021-08-12 16:32:53
    Hello,这是数据库实验报告系列的最后一份了,我将要结束这个系列了。再次感谢能点开这个报告合集系列的你~ 一、 实验目的及实验环境 (1) 理解索引和视图的概念 (2) 掌握索引的使用方法 (3) 掌握视图的定义和...
  • 数据库中的视图

    2021-11-20 21:43:00
    之前介绍了 数据库基本常识的简介及mysql安装 结构化查询语言sql 数据库表介绍 数据库的数据类型 数据操作语言DML——数据的增删改查 ...接下来说一下数据库中的视图视图的概念:视图(view)是一个从
  • 任务五 数据库视图设计 文章目录任务五 数据库视图设计【实训目的与要求】【实训原理】【实训步骤】一、创建视图(注意WITH CHECK OPTION子句用法)1.创建行列子集视图2.在多表上建立视图3.创建带表达式的...
  • 数据库视图查询优化

    2021-01-11 23:21:47
    现有三个库 甲乙丙【oracle】, 需要在甲库建视图,将 甲乙丙三个库的数据并到一块(通过数据链路).很自然的想到一种方式,如下: create or replace view vw_a select * from 甲-a union all select * from 乙-a ...
  • MySQL数据库总结

    万次阅读 多人点赞 2019-11-25 13:26:13
    一、数据库简介 数据库(Database,DB)是按照数据结构来组织,存储和管理数据的仓库。 典型特征:数据的结构化、数据间的共享、减少数据的冗余度,数据的独立性。 关系型数据库:使用关系模型把数据组织到数据表...
  • 数据库实验报告(视图).doc

    千次阅读 2021-02-02 18:14:54
    数据库实验报告(视图)实验报告(视图)课程数据库原理与应用技术日期 2012 年 5月 17日学号实验项目名 称有关视图数据库操作姓名一、实验目的本次试验就是要掌握基本的SQL Server的视图的基本操作,强化对视图的实际...
  • ① 在“图书读者数据库”(Book_Reader_DB)中,先用视图创建向导的方法创建视图View1和View2。其中View1包括书号、书名、定价、数量等属性。View2包括读者号、读者姓名、单位、电话、书号、书名、借阅日期、应归还...
  • 数据库 视图和表

    千次阅读 2019-08-01 15:01:17
    数据库中表的概念很好理解,就是数据的一种组织存放形式。表中是包含真正的数据的。比如我有一张表如下 在磁盘中我可以找到表文件 用cat打开表文件的话会是乱码,包含了实际的数据 而视图。本质上是sql语句(或者...
  • 数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件啊=组合而成的结果集,一般来说你可以用update,insert,delete等SQL语句修改表中的数据,而对视图只能进行select操作。但是也存在可更新的视图...
  • 数据库代码总结.docx

    2019-05-09 18:13:57
    包括数据库操作,表的操作,一系列查询操作,表中数据的操作,视图操作,索引操作,触发器,安全,架构,备份
  • 数据库访问视图实现总结

    千次阅读 2016-09-30 17:55:48
    实现方式有多种,在以SQL Server 2008R2为例此介绍一种数据库视图的实现方式。 步骤一:启用Ad Hoc Distributed Queries SQL Server阻止了对组件Ad Hoc Distributed Queries的STATEMENT OpenRowset/OpenDatasource...
  • PG数据库创建视图并授权给新用户

    千次阅读 2021-10-15 11:52:03
    客户想要几张表的汇总数据,要直接访问数据库获取 数据库服务器为PostgreSQL 11.4 1.分析 原则: 不能直接开放表的任何权限给用户,用户只能查询数据 思路是: 1.根据功能创建新视图 2.创建新用户 3.只...
  • 文章目录1 视图概述2 创建视图3 修改视图4 删除视图 1 视图概述 视图就是将一个或多个表中的目标字段抽取出来形成的一个虚拟表。这个虚拟表和真实的表具有相同的功能。 2 创建视图 语法格式: create view view_name...
  • 1. 实验目的 通过视图的创建过程,理解视图的概念和意义,掌握视图的基本使用方法。 2. 实验要求 ...在三层数据库中,视图是外部数据库,它是从基本表中派生出来的,并且依赖于基本表。它在内存中不存储数据

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,643
精华内容 46,657
关键字:

数据库视图总结