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

    千次阅读 2018-05-15 09:52:58
    1、 在xkgl数据库中进行视图的创建。 (1) 新建一个视图V1记录1990年出生的女生...视图创建代码: MySQL低版本乱码问题参见: SHOW VARIABLES LIKE ‘character_set_%’; SET NAMES utf8; SHOW VARIABLES...

    1、 在xkgl数据库中进行视图的创建。

    (1) 新建一个视图V1记录1990年出生的女生信息,包括学号,姓名,性别,出生日期,并且要求透过该视图进行的更新操作只涉及1990年出生的女生。视图创建代码:

    MySQL低版本乱码问题参见:

    SHOW VARIABLES LIKE ‘character_set_%’;
    SET NAMES utf8;
    SHOW VARIABLES LIKE ‘character_set_%’;

    CREATE VIEW V1(学号,姓名,性别,出生日期)
    AS
    SELECT StudentID,StudentName,Sex,Birth
    FROM student
    WHERE YEAR(Birth)=1990 AND Sex=CONVERT(‘女’ USING gbk);

    (3) 新建一个视图V2记录副教授的授课情况,包括教师姓名,职称,课程名称和学年信息。视图创建代码:

    CREATE VIEW V2(教师姓名,职称,课程名称,学年信息)
    AS
    SELECT t.Teachername,t.Profession,c.CourseName,s.CourseID
    FROM teacher t,SCHEDULE s,course c
    WHERE t.TeacherID=s.TeacherID AND
    s.CourseID=c.CourseID AND
    t.Profession=CONVERT(‘副教授’USING gbk);

    (5) 新建一个视图V3记录各个选修课程的最高分,最低分和平均分,并且按照课程编号升序排列。视图创建代码:

    CREATE VIEW V3
    AS
    SELECT CourseID, MAX(Grade),MIN(Grade),AVG(Grade)
    FROM grade GROUP BY CourseID
    ORDER BY AVG(CourseID);

    2、 在xkgl数据库中进行视图的修改。

    (1) 修改视图V2,改为记录讲师的授课情况。视图修改代码:

    ALTER VIEW V2(教师姓名,职称,课程名称,学年信息)
    AS
    SELECT t.Teachername,t.Profession,c.CourseName,s.CourseID
    FROM teacher t,SCHEDULE s,course c
    WHERE t.TeacherID=s.TeacherID AND
    s.CourseID=c.CourseID AND
    t.Profession=CONVERT(‘讲师’USING gbk);

    3、 在xkgl数据库中进行视图数据更新。

    (1) 通过视图V1向student表中插入一条记录(St0109020005,zhangsan,女,1990-09-09),插入记录代码:

    INSERT INTO V1 VALUES(‘St0109020005’,’zhangsan’,’女’,1990-09-09);

    (3) 通过视图V1将student表中学号为St0109020005的学生的姓名改为“张三”;

    UPDATE V1 SET 姓名=’张三’WHERE 学号=’St0109020005’;

    (5) 通过视图V1删除student表中学号为St0109020005的学生记录:

    DELETE FROM V1 WHERE学号=’St0109020005’;

    4、 在xkgl数据库中进行视图删除。

    (1) 利用SQL同时删除V2和V3视图,删除视图代码:

    DROP VIEW V1,V2;

    展开全文
  • SQL Server 数据库 视图创建

    千次阅读 2019-08-14 16:32:05
    SQL Server 创建视图 视图简介: 视图可以看作定义在SQL Server上的虚拟表。视图正如其名字的含义一样,是另一种查看数据的入口。 常规视图本身并不存储实际的数据,而仅仅是由SELECT语句组成的查询定义的虚拟表 。...

    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

    展开全文
  • 新的数据库 重新创建视图 这是最快速有效的方法了 CREATE VIEW `数据库名`.`视图名` AS SELECT `m`.`ID` AS `ID`, `m`.`USER_ID` AS `LOGIN_NAME`, CONCAT( `m`.`LAST_NAME`, `m`.`FIRST_NAME` ) AS `USER_...

    选择视图 修改视图 获取select语句

    新的数据库 重新创建视图 这是最快速有效的方法了

    CREATE VIEW `数据库名`.`视图名` AS

    SELECT

      `m`.`ID` AS `ID`,

      `m`.`USER_ID` AS `LOGIN_NAME`,

      CONCAT(

        `m`.`LAST_NAME`,

        `m`.`FIRST_NAME`

      ) AS `USER_NAME`,

      NULL AS `DEPARTMENT_CODE`,

      NULL AS `COMSTRU_CODE`,

      '111111' AS `PASSWORD`,

      'MDM_USER' AS `DATA_SOURCE`

    FROM

      `MDM_IDM` `m`

    UNION

    SELECT

      `t1`.`ID` AS `ID`,

      `t1`.`LOGINNAME` AS `LOGIN_NAME`,

      `t1`.`NAME` AS `USER_NAME`,

      NULL AS `DEPARTMENT_CODE`,

      NULL AS `COMSTRU_CODE`,

      `t1`.`PASSWORD` AS `PASSWORD`,

      'SYSTEM_USER' AS `DATA_SOURCE`

    FROM

      `SYSTEM_USER` `t1`

    展开全文
  • 本篇主要介绍的是创建简单的视图,和利用视图简化复杂的表连接,以及视图的销毁和使用视图的注意事项。与前面介绍的创建表、创建索引相似,视图创建主要是由CREATE VIEW关键字实现的,视图的销毁则是由DROP VIEW...

    本篇主要介绍的是创建简单的视图,和利用视图简化复杂的表连接,以及视图的销毁和使用视图的注意事项。

    与前面介绍的创建表、创建索引相似,视图的创建主要是由CREATE VIEW关键字实现的,视图的销毁则是由DROP VIEW关键字实现的。其数据则由SELECT语句定义。语法CREATE VIEW [ (column1,column2……)]ASSELECT FROM [(column1, colum)]为可选项。

    97730271152bb2b5e2c24e640040734f.png

    缺省时,为子查询结果中的字段名。SELECT语句指明了视图中的字段及其数据。关于视图我们还要强调两点。视图创建后, 在数据字典中只存放视图的定义,而其中的SELECT语句并不执行。只有当用户对视图进行操作时,才按照视图的定义将数据从基本表中取出。

    ae92a4e00d80f1fe5ae66073d5edd73d.png

    为表中的一-列或者几列信息创建视图,为StudentInfo表中的姓名( sname).生源( address )信息创建一个 视图NameAddress_ View。示例代码如下。CREATE VIEWNameAddress ViewASSELECT sname,address FROM StudentInfo

    a445ab0da71eda86a95e75b003f3c594.png

    用户可以通过创建视图进行数据查询。例如,一个表有50列,有成千上万行,而用户只需要使用表中的两列数据,这时,我们可以为这两列创建一个视图,在视图中查询注意需要的数据,这样会大大提高查询效率。

    创建与表具有不同字段名的视图前面实例创建的视图,并没有特别指明视图的字段名,系统就默认为与表相同的字段名。实际上,创建视图时,我们也可以为表中的数据定义新的字段名。

    6b851baa53390ab0203bc9baea4a97a3.png

    比如为表创建具有不同字段名的视图并查看其信息为StudentInfo 表中所有男同学的sname、 address 字段创建一-个 视图NewColumnName_View,这两个字段的字段名定义为Boy_ Name和Boy_ _Address代码如下CREATE VIEW NewColumnName_View (Boy_ Name, Boy_ Address,sex)ASSELECT sname, address, sexFROM StudentInfoWHEREsex =,男'

    db9359318c02b1de780f35342e9eba8f.png

    实际应用时,我们要注意新定义的字段名与表中数据的对应关系。利用视图简化表的复杂连接视图的一个重要用途就是进行复杂的SQL数据处理。通过创建视图,我们可以实现多表之间的复杂连接。将频繁使用的连接定义成视图后,用户就不必每次使用时都要指定复杂的连接条件了。

    比如3个相互关联的表学生信息表(StudentInfo)、招生信息表( RecruitInfo)和院系信息表(Department)。在实际应用中,用户一次查询的记录往往分别存储在这3个不同的表中,如查询“李山”同学所在的系以及高考时所在地区的录取分数线信息。

    d4baaa9f2eb6e6c5a153bb6e52bb9e44.png

    这时,需要的3个字段sname、dname 和dnum分别在这3个不同的表中。如果我们采用连接表的方式查询,每次查询不同的同学都需要通过复杂的连接条件连接一次表, 显然效率低下;而如果为sname、dname和dnum这3个字段的记录创建一个视图,我们只需要进行一次表的连接,而后相关的查询只要访问视图就可以了,明显提高了查询效率。

    ae473d952569d8a125115de42b5da8c8.png

    创建一视图Join_ View, 包含StudentInfo表中的姓名(sname) 字段、RecruitInfo 表中的系名(dname) 以及Department表中的录取分数(dnum) 的信息。示例代码如下。CREATE VIEW Join ViewASSELECTsname,dname, scoreFROMStudentInfo,Department, RecruitInfoWHERE StudentInfo.address = RecruitInfo. AddressANDStudentInfo.dno = Depar tment . dno

    ab52956624793dc0b552df77c9b87202.png

    创建了视图Join_ View 后,用户以后需要对姓名(sname)、 所在系名(dname) 以及所在的录取分数(dnum)的信息查询,只要对视图Join_ _View进行操作就可以了,而不必每次都对表进行连接。 只需要使用select * from join view查看就行。

    视图的销毁在SQL中,我们可以通过DROP VIEW关键字销毁创建的视图。语法如下。DROP VIEW view_ name销毁视图,只需在DROP VIEW关键字后写入视图的名称即可。

    d128d8a334b6ae70eea69a01badac2f8.png

    使用视图的几点原则一.般情况下,创建和使用视图应遵循以下几点原则。和表一样,视图必须有唯一的名字。不仅视图之间不允许有相同的名字,并且试图与表也不允许拥有相同的名字。视图的创建个数不受限制, 用户可以创建任意多个视图。用户要创建视图,必须从数据库管理员那里得到创建权限。视图可以嵌套, 即可以创建视图的视图。一些数据库管理系统(如SQL Server) 禁止用户在查询语句中使用ORDER BY子句。

    展开全文
  • mssql 数据库视图创建索引

    千次阅读 2011-11-02 10:21:06
    在给视图创建索引的时候,报如上错误。 创建视图的sql如下:   create view v_hb_xinxi with SCHEMABINDING as select id,Title,content,age,jine,jytype1,jytype2,jytype3,photo1,photo2,photo3,photo4,photo...
  • 数据库视图创建学习

    2019-10-07 01:16:22
    实验5 视图创建及应用 1、实验目的 (1)掌握使用T-SQL语言创建、修改视图; (2)掌握使用T-SQL语句删除、重命名视图; (3)掌握使用T-SQL语句,通过视图对基本表进行数据...视图是一种数据库对象,是关系...
  • 工具:Navicat PremiumOracle 11g视图基本概念知识储备:常见数据库对象表 :基本的数据存储集合,由行和列组成视图 :从表(一个或多个)中抽取出的逻辑上相关的数据集合序列:提供有规律的数据索引:提高查询的效率...
  • 数据库视图的构建 分析 删除修改 视图是数据库查询的一层封装
  • MySQL数据库视图:视图定义、创建视图、修改视图

    万次阅读 多人点赞 2017-03-20 11:54:15
    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。视图不直接存储数据,不知真正的表。 关系型数据库中的数据是由一张一张的二维关系表所组成,简单的单表查询只需要遍历一个表,而复杂的多表查询...
  • 数据库视图创建与使用ppt,需要的童鞋课下载
  • 进入属性
  • 数据库视图创建和使用,对视图的创建、修改和删除均可在可视化界面下操作
  • 需求 数据库表信息关联 这里数据库就不复现了,但是提供一下数据库中表的相对关联关系 表名称 表中某些特定字段 ...以上表中对应关系关联就是需求中的...创建视图要明白需求的前后关系,是看用户所关联的信息还是看
  • 需求:创建视图,包含4列,按TEST2中的ID字段分组,合计PRICE字段,计数PRICE字段,用每组的合计数除以每组的数量 做出来的样子如下: 名称 合计价格 数量 单价(合计/数量) 电脑 600 3 200 笔记本 300 3 100 问题...
  • 数据库视图及索引的创建与使用数据库视图及索引的创建与使用1、实验内容或题目视图、索引的创建与使用2、实验目的与要求(1)掌握创建视图的方法(2)能够对视图进行修改(3)能够对视图进行修改(4)理解索引的概念和索引的...
  • 数据库视图创建和修改

    万次阅读 热门讨论 2017-02-12 22:32:34
    虽然现在的进行已经学习到了十三章但是发现自己的博客总结之总结到了第四章哎,遗憾啊本来应该早就完成了的数据库视频就因为过年临放假的时候...创建视图  数据库储存的基本的信息  多表连接 select组合成视图  

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,737
精华内容 5,494
关键字:

数据库视图创建