1 / 6
文档名称:

SQL数据库复习资料操作题复习(带答案).pdf

格式:pdf   大小:475KB   页数:6页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL数据库复习资料操作题复习(带答案).pdf

上传人:青山代下 2024/5/21 文件大小:475 KB

下载得到文件列表

SQL数据库复习资料操作题复习(带答案).pdf

相关文档

文档介绍

文档介绍:该【SQL数据库复习资料操作题复习(带答案) 】是由【青山代下】上传分享,文档一共【6】页,该文档可以免费在线阅读,需要了解更多关于【SQL数据库复习资料操作题复习(带答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。使用T-SQL语句完成下列题目,保存所有SQL语句为一个脚本文件,,SQL语句前加上题号。(共60分)一、创建数据库创建一个数据库,数据库名为student,主数据文件的逻辑名为student_data,,存放在D盘根目录下,初始大小为10MB,最大可增长到50MB,增长方式是按5%比例增长;日志文件的逻辑名称为student_log,,存放在D盘根目录下,初始大小为2MB,最大可增长到5MB,按1MB增长。createdatabasestudentonprimary(name=student_data,size=10MB,maxsize=50MB,filegrowth=5%)logon(name=student_log,size=2MB,maxsize=5MB,filegrowth=1MB)二、创建表1、创建学生表,表名:学生字段名数据类型约束学号char(8)主键姓名char(20)不允许空性别char(2)不允许空出生日期datetime允许空usestudentcreatetable学生(学号char(8)primarykey,姓名char(20)notnull,性别char(2)notnullcheck(性别in('男','女')),出生日期datetimenull)2、创建成绩表,表名:成绩字段名数据类型约束学号char(8)主键,参照学生表的学号课程名varchar(30)主键成绩real允许空usestudentcreatetable成绩(学号char(8),课程名varchar(30),成绩realnullcheck(成绩between0and100)primarykey(学号,课程名),foreignkey(学号)references学生(学号))3、在gxc数据库中创建商品表,表名:sp。结构如下:sp表列名数据类型宽度空否约束备注bhchar20N主键商品编号mcvarchar50N商品名称xkcrealY现库存量sjmoneyY现销售价格usegxcCreatetablesp(bhchar(20)primarykey,mcvarchar(50)notnull,xkcreal,sjmoney)4、在gxc数据库中创建供应表,表名:gy。结构如下:gy表列名数据类型宽度空否约束备注ddhchar10N主键订单号bhchar20N主键,外键:参照商品商品编号表的主键bhslfloatN值大于0进货数量jgmoneyY进价jsjdatetimeY默认值为当前系统时进货时间间createtablegy(ddhchar(10),bhchar(20)notnull,slfloatnotnullcheck(sl>0),jgmoney,jsjdatetimedefault(getdate()),primarykey(ddh,bh),foreignkey(bh)referencessp(bh))5、往表中插入以下记录:insertintospvalues('2000000341316','精品红富士',200,)insertintospvalues('6930504300198','甜酒酿',50,)insertintogyvalues('2007001','2000000341316',80,,'2007-6-1')insertintogyvalues('2007001','6930504300198',30,,'2007-6-1')三、创建查询、视图、索引(1)在student数据库完成下列各题student表:sno:学号;sname:姓名;sex:性别;sbirth:出生日期;sdept:系别sc表:sno:ame:课程名称;grade:成绩1、查询性别为“男”的学生的基本情况,并按学号升序排序;select*from学生where性别='男'orderby学号asc2、查询所有选修“数据库原理”的学生的学号、成绩。,成绩From学生,=='数据库原理'3、创建视图view1,查询缺少成绩的学生的学号和相应的课程名。Createviewview1AsSelect学号,课程名From成绩Where成绩isnull4、创建视图view2,查询出所有学生的学号、姓名、性别和年龄,该视图定义加密,即带withencryption参数。Createviewview2withencryptionAsSelect学号,姓名,性别,year(getdate())-year(出生日期)年龄From学生5、查询出所有姓李,并且名为单个字的学生的基本信息。Select*FromstudentWheresnamelike'李_'6、使用外部连接,查询每个学生基本信息及其选课情况,如果学生没有选课,也显示其基本信息。Selectstudent.*,cname,=、查询选修了两门及两门以上课程的学生的学号。提示:使用groupby和having子句。SelectsnoFromscGroupbysnoame)>=28、查询有选课记录的所有学生的学号,用distict限制结果中的学号不重复。SelectdistinctsnoFromsc9、将view1的所有学生年龄增加一岁。思考:能否实现,如果不能实现指明原因?Updateview1set年龄=年龄+1不能实现,因为年龄是计算得到的,无法转换为对表的修改。10、创建一个带withcheckoption参数的视图view2,其内容是查询所有女生的基本信息。Createviewview2AsSelect*FromstudentWheresex='女'withcheckoption11、使用INSERT语句向view2中插入数据(‘95003’,‘张三’,‘男’)。思考:能否实现,如果不能实现指明原因?insertintoview2(sno,sname,sex)values('95003','张三','男')不能实现,因为视图定义中有withcheckoption,更新的数据必须符合视图定义的条件。12、分别统计各门课程的平均分、最高分。提示:使用groupby子句Select课程名,avg(成绩)平均分,max(成绩)最高分From成绩Groupby课程名13、根据实际情况为成绩表的成绩字段创建索引,索引名为cjindex。Createindexcjindexon成绩(成绩)(2)在gxc数据库中完成下列各题1、查询“精品红富士”最近一次进货的进价。提示:可按照进货时间排序。Selecttop1jgFromgy,=='精品红富士'Orderbyjsjdesc2、创建视图view1,查询库存不足的商品基本信息,库存不足指现库存量小于50。该视图定义加密,即带withencryption参数。Createviewview1withencryptionAsSelect*fromspwherexkc<503、根据实际情况为商品表的现库存量字段创建索引,索引名为kcindex。Createindexkcindexonsp(xkc)4、查询“精品红富士”本年的供应情况。Selectgy.*Fromgy,=='精品红富士'andyear(jsj)=year(getdate())5、创建视图view1,查询库存充足的商品基本信息,库存充足指现库存量大于100。该视图定义加密,即带withencryption参数。Createviewview1withencryptionAsSelect*fromspwherexkc>1006、删除视图view1。dropviewview17、根据实际情况为商品表的商品名称字段创建索引,索引名为spindex。Createindexspindexonsp(mc)8、删除索引spindex。dropindexspindex9、修改商品表中商品销售价格,%。updatespsetsj=sj*<、根据实际情况为供应表的订单编号字段创建唯一聚簇索引,索引名为ddindex。createUNIQUECLUSTEREDindexddindexongy(ddh)11、—,并按进货时间升序排序select*、查询今年6月份的各商品的详细供应情况。Select*FromgyWhereyear(getdate())=year(jsj)andmonth(jsj)=6Orderbybh