数据库技术与应用SQL习题答案

上传人:s9****2 文档编号:488430394 上传时间:2023-11-02 格式:DOC 页数:13 大小:64KB
返回 下载 相关 举报
数据库技术与应用SQL习题答案_第1页
第1页 / 共13页
数据库技术与应用SQL习题答案_第2页
第2页 / 共13页
数据库技术与应用SQL习题答案_第3页
第3页 / 共13页
数据库技术与应用SQL习题答案_第4页
第4页 / 共13页
数据库技术与应用SQL习题答案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数据库技术与应用SQL习题答案》由会员分享,可在线阅读,更多相关《数据库技术与应用SQL习题答案(13页珍藏版)》请在金锄头文库上搜索。

1、实验2 SQL Server 数据库的管理4. 启动查询分析器,在查询分析器中使用Transact-SQL语句CREATE DATABASE创建studb数据库。然后通过系统存储过程sp_helpdb查看系统中的数据库信息CREATE DATABASE studbsp_helpdb5. 在查询分析器中使用Transact-SQL语句ALTER DATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。ALTER DATABASE studbMODIFY FILE(NAME=studb,SIZE=5MB,MAXSIZE=20MB,FILE

2、GROWTH=1MB)7. 使用企业管理器将studb数据库的名称更改为student_db。ALTER DATABASE studbMODIFY NAME=student_db8. 使用Transact-SQL语句DROP DATABASE删除student_db数据库。DROP DATABASE student_db实验3 SQL Server 数据表的管理5. 使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。CREATE TABLE grade(学号 char(4),课程编号 char(4),分数 decimal(5)8. 使用Tr

3、ansact_SQL语句INSERT INTO.VALUES向studentsdb数据库的grade表插入以下数据:学号 课程编号 分数0004 0001 80USE studentsdbGOINSERT INTO grade VALUES(0004,0001,80)9. 使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。ALTER TABLE curriculumALTER COLUMN 课程编号 char(4)NOT NULLGO10. 使用Transact_SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类

4、型为real。ALTER TABLE gradeALTER COLUMN 分数 real11. 分别使用企业管理器和Transact_SQL语句DELETE删除studentsdb数据库的grade表中学号为0004的成绩记录。DELETE grade WHERE 学号=000413 使用Transact_SQL语句UPDATE修改studentsdb数据库的grade表中学号为0003、课程编号为0005、分数为90的成绩记录。UPDATE grade SET 分数=90WHERE 学号=0003 and 课程编号=000514. 使用Transact_SQL语句ALTER.ADD为stud

5、entsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。ALTER TABLE grade ADD 备注 VARCHAR(20) NULL15. 分别使用企业管理器和Transact_SQL语句DROP TABLE删除studentsdb数据库中的grade表。DROP TABLE grade实验4 数据查询1. 在studentsdb数据库中,使用下列SQL语句将输出什么?(1)15(2)刘卫张卫马东钱达东方郭文肖海张明 (3)KELLY (4)kellykellykelly (5)9.48683298050513819.32737905308881

6、579.27361849549570399.4339811320566032 (6)238 (7)201110102. 在studentsdb数据库中使用SELECT语句进行基本查询。 (1) SELECT 姓名,学号,姓名,出生日期 from student_info (2) SELECT 姓名,家庭住址 from student_info where 学号=0002 (3) 刘卫平 0001张卫民 0002马东 0003钱达理 0004东方牧 00053.使用SELECT语句进行条件查询(1) SELECT 学号,分数 from gradewhere 分数80(2) SELECT avg(

7、分数) from grade where 学号=0003(3) SELECT 课程编号, count(课程编号) from grade group by 课程编号(4) SELECT 姓名,出生日期 from student_info order by 出生日期 asc(5) SELECT 学号,姓名 FROM student_info WHERE 姓名 LIKE 张%4. 嵌套查询 (4) SELECT 课程编号,分数 FROM gradewhere 学号=0001 and 分数(SELECT max(分数) from grade where 学号=0002)5. 多表查询 (3) SELE

8、CT s.学号,s.姓名,c.课程名称,g.分数 FROM student_info s,grade g,curriculum cwhere s.学号=g.学号 and s.性别=男 and c.课程编号=g.课程编号(4) select 学号,max(分数)from grade group by 学号(5) SELECT s.学号,姓名,sum(g.分数) FROM student_info s left outer join grade g on s.学号=g.学号 group by s.学号,姓名(6) insert into grade(学号,课程编号,分数)values(0004,0

9、006,76) SELECT c.课程编号,课程名称,count(g.学号) FROM curriculum c right outer join grade g on g.课程编号=c.课程编号 group by c.课程编号,课程名称6. 使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称,如图1-8所示。select 学号 u_编号,姓名 u_名称 from student_info where 姓名 like 张%unionselect 课程编号,课程名称 from curr

10、iculum7. 数据更新 (4) delete from totalgradewhere 总成绩=null实验5 索引和视图1. 分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表格和curriculum表创建主键索引。ALTER table student_infoALTER column 学号 char(4) not nullgoALTER table student_info add constraint PK_student_info primary key(学号) ALTER table curriculumALTER colu

11、mn 课程编号 char(4) not nullgoALTER table curriculum add constraint PK_curriculum primary key(课程编号)5. .分别使用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。use studentsdbgoexec sp_helpindex gradegouse studentsdbgoexec sp_helpindex student_infogo16. 在studentsdb数据库中,使用Transact-SQL语句 CREATE VIEW 建立一个名为

12、v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况 create view v_stu_casselect student_info.学号,student_info.姓名,curriculum.课程名称,grade.课程编号from student_info inner join grade on student_info.学号=grade.学号 inner join curriculum on grade.课程编号=curriculum.课程编号 select * from v_stu_cwhere 学号=000317. 基于student

13、_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的所有课程和成绩create view v_stu_gasselect student_info.学号,student_info.姓名,curriculum.课程名称,grade.分数from student_info inner join grade on student_info.学号=grade.学号 inner join curriculum on grade.课程编号=curriculum.课程编号 select *from v_stu_gwhere 学号=000118. 分别使用企业管理器和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓名、每个学生所学课程数目

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号