创建教材的三个数据表Student、Course及SC。

  1. create database S_T
  2. Use S_T
  3. CREATE TABLE Student
  4. (Sno CHAR(9),
  5. Sname CHAR(20),
  6. Ssex CHAR(20),
  7. Sage SMALLINT,
  8. Sdept CHAR(20)
  9. );
  10. CREATE TABLE SC
  11. (Sno CHAR(9),
  12. Cno CHAR(4),
  13. Grade SMALLINT,
  14. );
  15. CREATE TABLE Course
  16. (Cno CHAR(4),
  17. Cname CHAR(40),
  18. Cpno CHAR(4),
  19. Ccredit SMALLINT,
  20. );
  21.  
  22. 2、向三个表中插入教材中的数据。
  23. INSERT INTO Student values('200215121','李勇','男',20,'CS');
  24. INSERT INTO Student values('200215122','刘晨','女',19,'CS');
  25. INSERT INTO Student values('200215123','王敏','女',18,'MA');
  26. INSERT INTO Student values('200215124','张立','男',19,'IS');
  27. INSERT INTO Course values('1','数据库','5',4);
  28. INSERT INTO Course(Cno,Cname,Ccredit) values('2','数学',2);
  29. INSERT INTO Course values('3','信息系统','1',4);
  30. INSERT INTO Course values('4','操作系统','6',3);
  31. INSERT INTO Course values('5','数据结构','7',4);
  32. INSERT INTO Course (Cno,Cname,Ccredit) values('6','数据处理',2);
  33. INSERT INTO Course values('7','PASCAL语言','6',4);
  34. INSERT INTO SC VALUES ('200215121', '1', 92);
  35. INSERT INTO SC VALUES ('200215121', '2', 85);
  36. INSERT INTO SC VALUES ('200215121', '3', 88);
  37. INSERT INTO SC VALUES ('200215122', '2', 90);
  38. INSERT INTO SC VALUES ('200215122', '3', 80);
  1. 3、创建一个名为View_Male_Student的视图,从表Student中查询出性别为男的所有学生的资料。
  2. create view View_Male_Student AS
  3. select * from Student where Ssex='男'
  4. 4、查看View_Male_Student视图的内容。
  5. select * from View_Male_Student
  6.  
  7. 5、从视图View_Male_Student中查询名为“李勇”的同学的资料。
  8. select * from View_Male_Student where Sname='李勇'
  9.  
  10. 6、向视图View_Male_Student中插入一条记录(‘200215126’,’赵林’,’男’,18,’CS’);
  11. insert into View_Male_Student
  12. values('200215126','赵林','男',18,'CS')
  13. 7、重新查看View_Male_Student视图的内容。
  14. select * from View_Male_Student 发生变化
  15.  
  16. 8、查看Student中的内容,看表的内容是否发生变化。
  17. select * from Student
  18.  
  19. 9、向视图View_Male_Student中插入一条记录(‘200215127’,’李红’,’女’,18,’CS’);
  20. 是否成功?Student表中的数据数据是否发生变化?
  21. insert into View_Male_Student values('200215127','李红','女',18,'CS')
  22. select * from Student 成功,表中数据发生变化
  23.  
  24. 10、创建一个名为View_Male_Student1的视图,从表Student中查询出性别为男的所有学生的资料,视图加上WITH CHECK OPTION选项。
  25. create view View_Male_Student1 AS
  26. select * from Student where Ssex='男'
  27. WITH CHECK OPTION
  28. 11、向视图View_Male_Student1中插入一条记录(‘200215128’,’关飞’,’男’,18,’CS’);
  29. insert into View_Male_Student1
  30. values('200215128','关飞','男',18,'CS')
  31. 12、向视图View_Male_Student1中插入一条记录(‘200215129’,’孙婷’,’女’,18,’CS’);
  32. 是否成功?Student表中的数据数据是否发生变化?
  33. insert into View_Male_Student1
  34. values('200215129','孙婷','女',18,'CS')
  35.  
  36. select * from Student 没有发生变化,显示插入错误,因为必须是’男’才可以
  37.  
  38. 13、创建一个名为View_Course3的视图,从Course表中查询学分大于3的所有课程的课程号、课程名、学分。
  39. create view View_Course3 AS
  40. select Cno,Cname,Ccredit from Course
  41. where Ccredit>3
  42. 14、查看View_Course3视图的内容。
  43. select * from View_Course3
  44.  
  45. 15、修改View_Course3视图,将“数学”改为“基础数学”。
  46. update View_Course3 set Cname='基础数学'
  47. where Cname='数学' 更新行,因为数学的学分是,不在视图View_Course3
  48.  
  49. 16、查看View_Course3Course数据是否发生变化。
  50. select * from View_Course3
  51. select * from Course
  52. 没有发生变化,因为数学的学分是,不在视图View_Course3
  53.  
  54. 17、删除视图View_Course3中的PASCAL语言课程。
  55. delete from View_Course3 where Cname='PASCAL语言'
  56. 18、查看View_Course3Course中的数据是否发生变化。
  57. select * from View_Course3
  58. select * from Course 两个都发生变化,PASCAL语言被删除
  59.  
  60. 19、创建一个名为View_Student1的视图,包含计算机系所有女生的学号、课程号及相应的成绩。
  61. create view View_Student1 AS
  62. select SC.Sno,Cno,Grade from SC,Student
  63. where SC.Sno=Student.Sno and Sdept='CS'and Ssex ='女'
  64. 20、查看View_Student1的内容。
  65. select * from View_Student1
  66.  
  67. 21、创建一个名为View_Student2的视图,包含每位选课学生的学号、姓名、总成绩。
  68. create view View_Student2
  69. as select Student.Sno,Sname,SUM(Grade) AS '总成绩'
  70. FROM Student,SC where Student.Sno=SC.Sno
  71. GROUP By Student.Sno,Student.Sname
  72. 22、查看View_Student2中的内容。
  73. select * from View_Student2

视图的创建与使用 Sql Server View的更多相关文章

  1. 07Microsoft SQL Server View

    Microsoft SQL Server View 1.视图 视图是一个虚拟的表,是表中的数据经过某种筛选后的显示方式,视图由预定义的查询select语句组成. 2.查看视图信息 --查询系统所有视图 ...

  2. 批处理创建数据库(Sql Server)

    ylbtech-Miscellaneos:批处理创建数据库(Sql Server) 1.A,资源(Resource) - 创建数据返回顶部 1.A.1,InstallDatabases.cmd - 编 ...

  3. 创建和使用SQL Server SSAS本地多维数据集

    Microsoft SQL Server SSAS的本地多维数据集(即Local Cube,也叫脱机多维数据集)和本地挖掘模型(Local Mining Models)允许在客户端机器上脱机执行离线分 ...

  4. 如何创建和还原SQL Server 2005数据库?

    在还原SQL Server 2005数据库文件之前,建议先把要还原的数据库文件复制粘贴到某个盘的根目录下,这样便于一会儿找到相关的文件,比如C盘. 先打开SQL Server 2005的Microso ...

  5. 如何创建和还原SQL Server 2000数据库?

    说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤 ...

  6. sql server ------创建本地数据库 SQL Server 排序规则

    sql server完整复制数据库 sql server导入导出方法 SQL Server 排序规则

  7. 自动创建数据库(DELPHI+SQL SERVER)

    procedure TForm1.Btn_OKClick(Sender: TObject); var sqlconn:string; begin Sqlconn:='Provider=SQLOLEDB ...

  8. 创建和管理SQL Server数据库

    1.创建数据库 右击“数据库”,在弹出的快捷菜单中选择“新建数据库”选项 2.分离和附加数据库 分离:右击数据库"MySchool",在弹出的快捷菜单中选择“任务”—“分离”选项 ...

  9. Sql Server的艺术(一) 视图的增删查改

    视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...

随机推荐

  1. [Hibernate开发之路](2)Hibernate问题

    (1)数据库驱动问题 log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment). log4j: ...

  2. linux常用命令(个人学习笔记)

    个人说明:学习linux也有半年左右的时间了,从一开始的只会简单的开关机,到现在的熟悉应用一些简单的命令,还是有些进步的,不过对于我这种菜鸟来说,如果不经常用,发现忘的很快.所以就把在学习过程中遇到的 ...

  3. ASP.NET CORE RAZOR :向 Razor 页面应用添加模型

    本文来自:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/model 在本部分中将添加用于管理数据库中的电影的类. ...

  4. mysql临时表空间暴涨

    (此文刚好遇到转载记录) 一.内部临时表使用 在某些情况下,服务器在处理语句时创建内部临时表,而用户无法直接控制临时表何时发生,完全有MySQL内部自行决定. MySQL在以下几种情况会创建临时表: ...

  5. mysql忘记root密码解决

    修改配置文件:my.cnf  加上skip-grant-tables 重启mysql mysql -uroot  登录 mysql> USE mysql ; mysql> UPDATE u ...

  6. surface4 笔盖失灵的解决方案

    http://tieba.baidu.com/p/3670357234 先找到设备管理器,找到蓝牙,删除里面所有的设备.然后重启. 之后再次找到蓝牙,匹配pen.就可以用了. 解决的前提是:我确定笔帽 ...

  7. PHP中常见的几种运行代码的方式

    常见的运行程序的方法有 shell_exec ``(反引号) eval system exec passthru 下面分别介绍他们的用法: 名称 解释 返回值 注意 shell_exec 通过 she ...

  8. IE8 兼容 getElementsByClassName

    IE8以下版本没有getElementsByClassName这个方法,以下是兼容写法 function ieGetElementsByClassName() { if (!document.getE ...

  9. django学习总结

    tips:django官方中文文档(http://python.usyiyi.cn/django/index.html),django基础教程(http://www.ziqiangxuetang.co ...

  10. VMWare虚拟机下为Ubuntu 12.04.2配置静态IP(NAT方式)

    http://www.cnblogs.com/objectorl/archive/2012/09/27/vmware-ubuntu-nat-static-ip-settings.html 参考以上方式 ...