1.创建学生成绩(xscj)数据库

create database xscj;

2.在数据库中创建student、course、score、teacher四张数据表。

create table student(
S_no bigint(11) not null PRIMARY KEY unique AUTO_INCREMENT COMMENT'学生学号',
S_name Varchar(50) not null COMMENT'学生姓名',
S_sex VARChar(2) null COMMENT'性别',
S_bir date null COMMENT'出生日期',
phone varchar(13) null unique COMMENT'电话',
email varchar(50) null unique COMMENT'电子邮件'
);
create table course(
C_no Char(13) not null COMMENT'课程编号',
C_name varchar(50) null COMMENT'课程名称',
T_no Char(10) not null COMMENT'教师编号',
hour float null COMMENT'学分',
week Int(2) null COMMENT'教学周',
Semester Int(1) null COMMENT'开课学期',
PRIMARY KEY(C_no,T_no)
);
create table score(
S_no bigint(11) not null COMMENT'学生学号',
C_no Char(13) not null COMMENT'课程编号',
daily float null COMMENT'平时成绩',
final float null COMMENT'结业成绩',
PRIMARY KEY(S_no,C_no)
);
create table teachers(
t_no Char(10) not null PRIMARY KEY unique COMMENT'教师号',
T_name varchar(10) not null COMMENT'教师姓名',
major Char(10) null COMMENT'专业',
prof Char(6) null COMMENT'职称',
Department Char(10) null COMMENT'院系部门'
);

3.在对应的表中,插入如下数据

INSERT INTO student
(S_no,s_name,s_sex,S_bir,phone,email)VALUES
(18122221320,'张凯','男','2001/5/6',13245678547,'36451@qq.com');
select*from student;
INSERT INTO student
(S_no,s_name,s_sex,S_bir,phone,email)VALUES
(18122221321,'赵峰','男','1999/5/4',13945678548,'ABTHE@SOHU.COM'),
(18122221322,'王伟','男','2003/8/9',13245678549,'45SSEEE@163.COM');
INSERT INTO student
(S_no,s_name,s_sex,S_bir,phone,email)VALUES
(18122221323,'李成','男','2001/9/12',13245678550,'78962@qq.com'),
(18122221324,'赵晓月','女','2002/12/4',13545678551,'3232459@qq.com'),
(18122221325,'王俊鑫','男','2003/4/7',13845678552,'8989456@qq.com'),
(18137221506,'王枫','男','2001/10/5',13645678553,'WSWS4875@SOHU.COM'),
(18137221507,'李浩','男','2000/11/23',13888128558,'46SSEEE@163.COM'),
(18137221508,'孙琳','女','2002/5/1',13522078555,'124578@qq.com'),
(19112100070,'陈晨','男','2003/4/8',13243271256,'457822SW@SOHU.COM'),
(19112100071,'吴司','男','1999/12/4',13244673357,'JEUD@163.COM'),
(19112100072,'李珊','女','1998/12/25',13955089958,'78451@qq.com'),
(19112100073,'钱峰','男','2000/4/1',13945322359,'BBBTIH@SOHU.COM'),
(19112100074,'张雯','女','2000/12/3',13545612360,'SSSMOU@163.COM');
select*from student;
INSERT INTO score
(S_no,C_no,daily,final)VALUES
(18122221320,'c08123',85,95),
(18122221320,'a01564',88,93),
(18122221320,'C06108',92,90),
(18122221321,'c08123',85,94),
(18122221321,'C06108',70,82),
(18122221322,'c08123',60,64),
(18122221322,'a01327',53,50),
(18122221322,'a01564',64,50),
(18122221323,'a01564',88,84),
(18122221323,'C05103',85,86),
(18122221324,'c08123',77,81),
(18122221324,'C05103',95,86),
(18122221325,'C05103',88,90);
select*from student;
INSERT INTO course
(C_no,C_name,T_no,hour,week,Semester)VALUES
('c08123','数据库技术','t07019',4,16,4),
('c08123','数据库技术','t03117',4,16,4),
('C06108','数据结构','t07019',4,16,3),
('C06108','数据结构','t01247',4,16,3),
('C05103','计算机原理','t01247',4,16,2),
('C05103','计算机原理','t03117',4,16,2),
('a01327','高等数学','t00458',4,16,2),
('a01327','高等数学','t00578',4,16,2),
('a01564','马克思原理','t04410',2,12,1),
('a01564','马克思原理','t04115',2,12,1);
INSERT INTO teachers
(t_no,T_name,major,prof,Department)VALUES
('t01247','程瑞','软件工程','副教授','计算机学院'),
('t07019','刘泽','软件工程','讲师','软件学院'),
('t04213','汪凌灵','网络技术','副教授','计算机学院'),
('t04115','刘珊','哲学','讲师','人文学院'),
('t00458','李泽峰','数学','助教','基础课程学院'),
('t00578','张伦','数学','讲师','基础课程学院'),
('t02145','王乐','英语','助教','基础课程学院'),
('t04410','王伟','哲学','副教授','人文学院'),
('t03117','孙艳','软件工程','讲师','软件学院');

4.为student表的phone列上建立一个降序普通索引phone_idx。

create index phone_idx on student(phone desc);

5.在score表的s_no和c_no列上建立一个复合索引stu_cour_idx。

create index stu_cour_idx on score (s_no,c_no);

6.在course表的 c_name, t_no列上建立一个唯一性索引 cname_idx。

create unique index cname_idx on course (c_name,t_no);

7.在 teacher表上建立t_name和prof的复合索引mark。

create index mark on teachers(T_name,prof);

8.删除teacher表的mark索引。

drop index mark on teachers;

9.利用alter table语句删除course表的cname_idx索引。

alter table course drop index cname_idx;

10.在teacher表上创建一个简单的视图v_teacher,显示teacher表的所有信息。

create view v_teacher as select*from teachers;

11.在student表和score表上创建一个名为stu_score的视图。视图中保留18级的女生的学号、姓名、电话、课程号和结业成绩。

create view stu_score as select student.s_no,s_name,phone,c_no,final from student
join score on student.s_no=score.s_no where s_sex='女' and left(student.s_no,2)='18';

12.创建视图v_teach,统计软件学院的教师中不是教授或副教授的教师号、教师名和专业。

create view v_teach as select T_no,T_name,major from teachers where prof not like '副教授' and 
department='软件学院';

13.查看视图stu_score定义情况。

describe stu_score;

14.修改视图v_teach,统计软件学院的教师中的教授或副教授的教师号、教师名和专业,并在视图名后指明视图列名称。

alter view v_teach (T_no,T_name,major) as select T_no,T_name,major from teachers 
where prof like '%教授' and department = '软件学院';

15.删除视图v_teach。

drop view if exists v_teach;

16.创建视图view_avg,统计各门课程的平均结业成绩,并按课程号升序排列。

create view view_avg as select score.c_no,course.c_name,avg(final) from score join 
course on score.c_no=course.c_no group by c_no asc;

17.通过视图v_teacher,插入一条纪录(‘t07027’,‘谢天’,‘教育学’,‘副教授’,‘计算机学院’)

insert into v_teacher(t_no,t_name,major,prof,department)values
('t07027','谢天','教育学','副教授','计算机学院');

18.通过视图v_teacher,修改‘t07019’的职称为副教授。

update v_teacher set prof ='副教授' where t_no = 't07019';

19.通过视图v_teacher,删除教师号为‘t07027’的纪录。

delete from v_teacher where t_no = 't07027';

20.视图stu_score依赖于表student和表score,通过视图stu_score修改基本表student中的学号为18122221324的电话号码为‘888888’。

update stu_score set phone = 888888 where s_no = 18122221324;

数据库:实验五MySQL数据库对象-(视图、索引)相关推荐

  1. MySQL数据库实验二 MySQL数据库和表

    一.实验项目: MySQL数据库和表. 二.实验目的 1.掌握MySQL数据库的创建.修改.删除和查看. 2.掌握表的创建.修改.删除和查看. 3.掌握表中记录的插入.修改和删除操作. 4.掌握完整性 ...

  2. 合肥工业大学—SQL Server数据库实验五:创建和删除索引

    创建和删除索引 1. 用SQL语句建立索引 2. 用SQL语句删除索引Stuspno 1. 用SQL语句建立索引 (1)应用场景:在教务管理系统中,经常需要通过学生的姓名查询学生的基本信息,学生人数大 ...

  3. mysql数据库实验查询_MySQL数据库表数据的查询操作实验

    实验3.MySQL数据库表数据的查询操作实验(1) 一.实验目的 掌握SELECT 语句的基本语法格式. 掌握SELECT 语句的执行方法. 掌握SELECT 语句的 GROUP BY 和 ORDER ...

  4. 形考任务一在mysql创建数据库及表_数据库运维 形考任务1 实验1 MySQL数据库服务器配置...

    实验1 MySQL数据库服务器配置 1.实验目的 掌握MySQL的安装方法,练习MySQL数据库服务器的使用,理解MySQL服务器的组成,掌握MySQL服务器的配置方法. 2.实验内容 [实验1-1] ...

  5. Kingbase数据库实验五 PL/SQL程序设计

    Kingbase数据库实验五   PL/SQL程序设计 一.实验目的 二.实验内容及源代码 一.实验目的 能够使用流程控制语句完成简单程序的编写. 能够使用系统函数. 能够自定义简单地函数,并调用函数 ...

  6. 《数据库系统原理及应用教程》(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验

    阅读前注意: 1. 本实验报告配套<数据库系统原理及应用教程>(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验(书上10.4节以及第六章部分内容),书本中采用Microsoft ...

  7. 数据库系统概论 实验报告答案 实验五:数据库单表查询

    实验五:数据库单表查询 一.实验目的 1. 掌握SELECT语句的基本语法和查询条件表示方法: 2. 掌握查询条件表达式和使用方法: 3. 掌握GROUP BY 子句的作用和使用方法: 4. 掌握HA ...

  8. 数据库实验五——数据更新

    数据库实验五 实验内容(1) 实验内容(2) 实验报告 [实验名称] 实验5 数据更新 [实验目的] (1)熟练掌握使用交互式方式编辑表中的数据. (2)能够运用T-SQL语句对表中的数据进行插入.修 ...

  9. mysql权限管理实验_实验五 MYSQL权限与安全

    实验五MYSQL权限与安全 实验平台:安装MYSQL数据库的PC 实验目的:1.理解MYSQL权限管理的工作原理. 2.掌握MYSQL中账号管理. 实验具体要求(在导入的教学管理STM数据库中完成): ...

  10. asp 更新 mysql数据库_asp update mysql数据库

    数据库必知词汇:数据操纵语言DML |名词定义|数据操纵语言(Data Manipulation Language, DML)是SQL语言的四大主要分类之一,用户通过它可以实现对数据库数据的基本操作. ...

最新文章

  1. python笔记基础-Python笔记-基础
  2. 【NLP】图解Transformer(完整版)
  3. python - hash类型操作
  4. 东软 软件工程3 软件项目管理 团队组织管理
  5. android 界面跳转封装,【Android】Fragment跳转系列
  6. 管理数据通用权限系统快速开发框架设计
  7. 试题16 回文数字(5位或6位)
  8. Acrobat XI 安*装#教程*和安装%包分*享
  9. 【图像重建】基于matlab GUI霍夫曼图像重建(带面板)【含Matlab源码 1168期】
  10. 双向DC/DC变换器设计-硬件主拓扑
  11. 龙芯pmon快速启动方法
  12. MATLAB中四阶单位矩阵,matlab-线性代数 创建 N阶数量矩阵 N阶单位矩阵 对角矩阵 范德蒙矩阵 等差数列......
  13. (二)java项目中的文档转换案例实战——PDF转换为JPG图片压缩包
  14. 英语微课-Speaking Confidently
  15. 运维屌丝回答网传Linux运维面试题(一)
  16. echarts 重新加载数据
  17. yocto 知:BitBake用户手册
  18. 字符串——BZOJ 3097: Hash Killer I【构造题,思维题】
  19. Material Design学习之 Camera
  20. Lenovo k860i 移植Android 4.4 cm11进度记录【下篇--实时更新中】

热门文章

  1. 一个比较有趣的题:推算今天星期几
  2. [OpenCV实战]1 基于深度学习识别人脸性别和年龄
  3. runaction 旋转_使用cc.tween(缓动系统)代替runAction
  4. zipFile 压缩文件夹 C#
  5. 脚本小子_Lua数据类型
  6. jetbrain工具常见问题汇总
  7. cesium接入加载3D城市建筑物(离线)(cesium篇.19)
  8. 斯坦福发布3D街景数据集:8个3D城市模型+2500万图像+1.18亿图像配对
  9. 中译英提升:准译员如何“假装”自己很地道?丨打死个翻译官2.4
  10. X61的intel wireless 3945abg 不再掉线了