精华内容
下载资源
问答
  • 数据库视图的构建 分析 删除修改 视图是数据库查询的一层封装
  • Delphi创建SQLserver数据库视图的例子,使用create View语句来生成视图,当然本程序创建好视图后,也可删除视图,下面是详细的代码:  //创建一个视图:  procedure TForm1.Button1Click(Sender: TObject);  ...
  • 模拟iv代码 有关MIMIC-IV数据库代码和讨论
  • 内容索引:VC/C++源码,数据库应用,数据库 这个数据库列表是自己写的,除了能把从数据库里读出的数据整齐显示外,它还具有添加、删除、修改、查询等操作,另外它还支持自定义列表中的字体颜色、字体大小,将数据导出...
  • 数据库视图理解

    千次阅读 2019-01-11 17:36:36
    用比较官方的话来说:视图就是一张通过查询获取的虚拟表,视图中本身不存在数据,数据来自与视图对源表的映射作用,一张数据表可以根据不同的需要创建多个不同的视图 对此我的理解是:你可以将视图看做成此表的分身...

    什么是视图?

    用比较官方的话来说:视图就是一张通过查询获取的虚拟表,视图中本身不存在数据,数据来自与视图对源表的映射作用,一张数据表可以根据不同的需要创建多个不同的视图
    对此我的理解是:你可以将视图看做成此表的分身,这个分身你可以自如的修饰,你可以自己选择向外展示的数据,所以一般视图也是用在开发中有一些表结构是不希望过多的人去接触的,那你就可以把实体表映射为一个视图。这个时候别人要查,就直接让他们去查询你的视图
    上代码:简单视图的创建和引用

    比如创建一个user表的简单视图sql如下

    create or view 视图名 as select * from user
    

    那如果你想控制一下视图的内容:比如让此视图只有id为2的用户数据

    create or view 视图名 as select * from user where id = 2;
    
    视图使用就跟表的使用是一样的(分身嘛,你懂得)所以视图也可以增删改查 而且语句都跟正常对表的增删改查是一样的 只不过把表的名字改为上面你自己定义的视图名就可以了

    下面附上增删改sql

    -- 增
    insert into 视图名('参数') values('插入的值')
    --删
    delete from 视图名
    --改
    update 视图名 set name='王刚'  where id=2;
    -- 查
    select * from 视图名
    
    以上就是我对数据库视图的一点理解啦,请大家多多指点
    展开全文
  • 1 写出创建满足下述要求的视图的SQL语句,并执行所写代码。 (1)包含学生的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图。 create VIEW Student1(学号,姓名,所在系,年龄,课程号,课程名,课程学分) AS ...
  • SQL Server 数据库 视图创建

    千次阅读 2019-08-14 16:32:05
    SQL Server 创建视图 ...从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图。 例如查询,插入,修改,...

    SQL Server 数据库 视图创建


    视图简介:

    视图可以看作定义在SQL Server上的虚拟表。视图正如其名字的含义一样,是另一种查看数据的入口。
    常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 。
    从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图。
    例如查询,插入,修改,删除操作等,但插入、修改、删除等的操作其实对于原始数据表的操作。

    视图的作用:

    1、视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。
    2、视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
    3、从而加强了安全性,使用户只能看到视图所显示的数据。
    4、视图还可以被嵌套,一个视图中可以嵌套另一个视图。

    SQL视图创建语法参考

    --判断用户自定义视图是否存在
    if exists(select * from sysobjects where id=OBJECT_ID(N'v_Stu_Cou') and objectproperty(id,N'IsView')=1)
    drop view v_Stu_Cou        --删除视图
    go
    //--alter  --适用于已创建视图 没有if判断表是否存在(存在就删除)的情况 往视图表追加信息
    create view dbo.v_Stu_Cou    --创建视图
    as
    select S_Id,S_StuNo,S_Name,S_Sex,S_Height,S_BirthDate,c.C_Id,c.C_Name 
    from Student s
    left join Course c on s.C_S_Id=c.C_Id
    where s.C_S_Id is not null
    go
    
    
    select * from v_Stu_Cou        --使用视图查询
    

    实例参考

    --判断用户自定义视图是否存在
    if exists(select * from sysobjects where id=OBJECT_ID(N'Staffinfo') and objectproperty(id,N'IsView')=1)
    drop view Staffinfo        --删除视图
    go
    //--alter  --适用于已创建视图 没有if判断表是否存在(存在就删除)的情况 往视图表追加信息
    create view dbo.Staffinfo    --创建视图
    as
    select 
    		s.StaffNo as '员工工号',s.StaffName as '员工姓名',s.PositionCode as '职位代码',o.Pname as '职位',s.Grade as '职级'
    
    	from hr_Staff s
    	left join Org_Staff os on s.StaffNo=os.StaffNo
    	left join Org_Position op on os.PositionGuid=op.Guid
    
    	left join org_export o on s.StaffNo=o.StaffNo and s.PositionCode=o.Pcode
    	//注意where后跟的条件 是否是你想要的
    	where s.StaffNo is not null
    go
    
    --select * from Staffinfo        --使用视图查询
    

    博客参考: https://www.cnblogs.com/Brambling/p/6731386.html
    百度搜索: https://jingyan.baidu.com/album/9113f81b71c0d72b3214c7d7.html?picindex=1

    展开全文
  • 数据库视图是什么? 创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 视图的好处? 视图使用的时候跟表一样。主要作用是不让所有的人都能看到整张表。 比如有...

    数据库视图是什么?

    创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。
    在这里插入图片描述


    视图的好处?

    视图使用的时候跟表一样。主要作用是不让所有的人都能看到整张表。

    比如有个员工信息表,里面有联系方式,薪资等,可能只希望HR能看到薪资,其他人只能看到联系方式,那么就可以使用视图来实现。

    高效:复杂的连接查询,每次执行时效率比较低,可以考虑新建视图,每次从视图中获取,将会提高效率。

    定制数据:将常用的字段放置在视图中。


    视图:
    是从一个或几个基本表(或视图)导出的虚拟表。

    作用:
    1、视图能够简化用户的操作
    2、视图使用户能以多钟角度看待同一数据
    3、视图对重构数据库提供了一定程度的逻辑独立性
    4、视图能够对机密数据提供安全保护
    5、适当的利用视图可以更清晰的表达查询


    示例

    【实例 1 创建基于单表的视图】在 tb_students_info 表上创建一个名为 view_students_info 的视图,输入的 SQL 语句和执行结果如下所示。

    mysql> CREATE VIEW view_students_info
        -> AS SELECT * FROM tb_students_info;
    Query OK, 0 rows affected (0.00 sec)
    
    
    mysql> SELECT * FROM view_students_info;
    +----+--------+---------+------+------+--------+------------+
    | id | name   | dept_id | age  | sex  | height | login_date |
    +----+--------+---------+------+------+--------+------------+
    |  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
    |  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
    |  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
    |  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
    |  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
    |  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
    |  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
    |  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
    |  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
    | 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
    +----+--------+---------+------+------+--------+------------+
    10 rows in set (0.04 sec)
    

    默认情况下,创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。

    【示例2 创建基于多表的视图】

    mysql> CREATE VIEW v_students_info
        -> (s_id,s_name,d_id,s_age,s_sex,s_height,s_date)
        -> AS SELECT id,name,dept_id,age,sex,height,login_date
        -> FROM tb_students_info;
    Query OK, 0 rows affected (0.06 sec)
    
    
    mysql> SELECT * FROM v_students_info;
    +------+--------+------+-------+-------+----------+------------+
    | s_id | s_name | d_id | s_age | s_sex | s_height | s_date     |
    +------+--------+------+-------+-------+----------+------------+
    |    1 | Dany   |    1 |    24 | F     |      160 | 2015-09-10 |
    |    2 | Green  |    3 |    23 | F     |      158 | 2016-10-22 |
    |    3 | Henry  |    2 |    23 | M     |      185 | 2015-05-31 |
    |    4 | Jane   |    1 |    22 | F     |      162 | 2016-12-20 |
    |    5 | Jim    |    1 |    24 | M     |      175 | 2016-01-15 |
    |    6 | John   |    2 |    21 | M     |      172 | 2015-11-11 |
    |    7 | Lily   |    6 |    22 | F     |      165 | 2016-02-26 |
    |    8 | Susan  |    4 |    23 | F     |      170 | 2015-10-01 |
    |    9 | Thomas |    3 |    22 | M     |      178 | 2016-06-07 |
    |   10 | Tom    |    4 |    23 | M     |      165 | 2016-08-05 |
    +------+--------+------+-------+-------+----------+------------+
    10 rows in set (0.01 sec)
    

    通过这个视图可以很好地保护基本表中的数据。
    视图中包含 s_id、s_name 和 dept_name,s_id 字段对应 tb_students_info 表中的 id 字段,s_name 字段对应 tb_students_info 表中的 name 字段,dept_name 字段对应 tb_departments 表中的 dept_name 字段。


    查看视图结构

    DESCRIBE 可以用来查看视图,语法如下:
    DESCRIBE 视图名;

    mysql> DESCRIBE v_students_info;
    +----------+---------------+------+-----+------------+-------+
    | Field    | Type          | Null | Key | Default    | Extra |
    +----------+---------------+------+-----+------------+-------+
    | s_id     | int(11)       | NO   |     | 0          |       |
    | s_name   | varchar(45)   | YES  |     | NULL       |       |
    | d_id     | int(11)       | YES  |     | NULL       |       |
    | s_age    | int(11)       | YES  |     | NULL       |       |
    | s_sex    | enum('M','F') | YES  |     | NULL       |       |
    | s_height | int(11)       | YES  |     | NULL       |       |
    | s_date   | date          | YES  |     | 2016-10-22 |       |
    +----------+---------------+------+-----+------------+-------+
    7 rows in set (0.04 sec)
    
    展开全文
  • 4、新增对数据库视图的支持 5、新增大量自定义模板示例 6、新增SQL查询导出数据功能,在生成自定义文件时通过配置SQL查询数据导出生成任何需要的文件 7、新增一些内置静态对象用于生成自定义文件时使用,例如:...
  • MySQL数据库视图:视图定义、创建视图、修改视图

    万次阅读 多人点赞 2018-08-02 14:46:46
    0 视图相关的MySQL指令 操作指令 代码 创建视图 CREATE VIEW 视图名(列1,列2...) AS SELECT (列1,列2...) FROM ...; 使用视图 当成表使用就好 ... 查看数据库已有视图 >SHOW...

    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”命令。

    展开全文
  • 视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口,通过它可以看到感兴趣的数据。 视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生...
  • 数据库视图简介与实例分析

    千次阅读 2018-12-26 16:20:10
     数据库视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句。 视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);   2....
  • 支持oracle或mysql,输入数据库的连接信息及表名或视图名,自动根据表或视图创建实体类,非常好用的一个小程序,大大节省时间~
  • PostgreSQL数据库中最有用的功能之一就是创建自定义“视图”,这些视图仅仅是预先定义的SQL查询,它们存储在数据库中并可以在需要时重复使用。因此,以这种方式储存经常使用的SQL查询比每次都手工输入要更有效率而且...
  • 只要满足下列条件,即可通过视图修改基础基表的数据:  1、任何修改(包括 UPDATE、INSERT 和 DELETE 语句)都只能引用一个基表的列。  2、视图中被修改的列必须直接引用表列中的基础数据。不能通过任何其他方式...
  • SQL数据库视图

    千次阅读 2017-11-01 15:07:45
    视图只能建立在当前正在使用的数据库中。 优点:1.可以使视图集中数据、简化和定制不同用户对数据库的不同数据要求。 2.使用视图可以屏蔽数据的复杂性,用户不必了解数据库的结构,就可以方便地使用和管理数据,简化...
  • 数据库 视图和表

    千次阅读 2019-08-01 15:01:17
    数据库中表的概念很好理解,就是数据的一种组织存放形式。表中是包含真正的数据的。比如我有一张表如下 在磁盘中我可以找到表文件 用cat打开表文件的话会是乱码,包含了实际的数据 而视图。本质上是sql语句(或者...
  • 本篇博客分享SQL语言视图操作--详细实践学习报告(以截图方式展示),大家多多捧场咯! 软件:Oracle SQL Developer 目录 1、学生-课程数据库 2、视图 ①定义视图 ②查询视图 ③更新视图视图的作用 1、...
  • 主要介绍了Django Admin后台添加数据库视图过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 数据库视图数据是否可以直接删除

    千次阅读 2021-03-25 09:47:36
    数据库视图数据是否可以直接删除 文章目录数据库视图数据是否可以直接删除一、视图是什么?二、视图数据删除1.多表构成视图数据删除2.单表视图数据删除总结 一、视图是什么? 视图(VIEW)也被称作虚表,即虚拟的表...
  • 摘要:Delphi源码,数据库应用,视图 Delphi中的数据库视图应用一例,简单的视图使用例子,初学者参考。 运行环境:Windows/Delphi7
  • 数据库视图的创建和修改

    万次阅读 热门讨论 2017-02-12 22:32:34
    虽然现在的进行已经学习到了十三章但是发现自己的博客总结之总结到了第四章哎,遗憾啊本来应该早就完成了的数据库视频就因为过年临放假的时候太兴奋了所以就没学习过完年来了之后由于完的心还没有收好导致计划做的好...
  • 创建mysql数据库视图

    2011-06-09 11:18:06
    如何建立视图,如何可视化建立视图 介绍的很简单
  • 数据库视图创建

    千次阅读 2018-05-15 09:52:58
    1、 在xkgl数据库中进行视图的创建。 (1) 新建一个视图V1记录1990年出生的女生信息,包括学号,姓名,性别,出生日期,并且要求透过该视图进行的更新操作只涉及1990年出生的女生。视图创建代码: MySQL低版本...
  • 摘要:C#源码,菜单窗体,视图 在C#中应用数据库视图,分享给初学C#的新手参考,源码完整,含有数据库,不过要自己附加到SQLServer里。
  • 内容索引:C#源码,数据库应用,存储过程 VS2008编写一C#程序,动态获取数据库中的所有视图和存储过程信息,仅包括代码,暂时不包括数据库,需要手动还愿出数据库
  • 数据库视图详解

    万次阅读 多人点赞 2015-01-27 18:13:16
    数据库视图详解 - 定义: 视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,...
  • 本文实例讲述了Thinkphp5框架实现获取数据库数据到视图的方法。分享给大家供大家参考,具体如下: 这是学习thinkhp5的基础篇笔记。 这里主要讲怎么配置数据库链接,以及查询数据库数据,并且最后将数据赋给视图。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 271,003
精华内容 108,401
关键字:

数据库视图代码