欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    mysql数据库武洪萍版第四章习题与答案.doc

    • 资源ID:33830894       资源大小:76.50KB        全文页数:8页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    mysql数据库武洪萍版第四章习题与答案.doc

    如有侵权,请联系网站删除,仅供学习与交流一二三四五六七 mysql数据库武洪萍版第四章习题与答案【精品文档】第 8 页八 选择题1. 下面哪种数字数据类型不可以存储数据256?(D)A. bigint B. int C. Smallint D. tinyint 2. 下面是有关主键和外键之间的关系描述,正确的是(AC)A. 一个表最多只能有一个主键约束,多个外键约束。B. 一个表中最多只有一个外键约束,一个主键约束。C. 在定义主键外键约束时,应该首先定义主键约束,然后定义外键约束。D. 在定义主键外键约束时,应该首先定义主键约束,然后定义主键约束。3. 下面关于数据库中表的行和列的叙述正确的是(D) A. 表中的行是有序的,列是无序的 B. 表中的列是有序的,行是无序的C. 表中的行和列都是有序的 D. 表中的行和列都是无序的4. SQL语言的数据操作语句包括 SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A) A. SELECT B.INSERT C.UPDATE D.DELETE5. 在下列SQL语句中,修改表结构的语句是(A )。A. ALTER B. CREATE C. UPDATE D. INSERT6. 设有关系R(A,B,C)和S(C,D),与关系代数表达式A,B,D(R.C=S.C(R S)等价的SQL语句是(B)。A. SELECT *FROM R,S WHERE R.C=S.CB. SELECT A,B,D FROM R,S WHERE R.C=S.CC. SELECT A,B,D FROM R,S WHERE R=SD. SELECT A,B FROM R WHERE(SELECT D FROM S WHERE R.C=S.C)7. 设关系 R(A,B,C) 与SQL语句“SELECT DISTINST A FROM R WHERE B=17”等价的关系代数表达式是(A)A. A(B=17 (R) B. B=17 (A(R)C. B=17 (A. C(R) D. A. C(B=17 (R) 下面第(8)-(12)题,基于“学生-选课-课程”数据库中的3个关系。S(S#,SNAME,SEX,DEPAPTMENT),主码是S#C(C#,CNAME,TEACHER),主码是 C#SC(S#,C#,GRADE),主码是(S#,C#)8. 在下列关于保持数据库完整性的叙述中,哪一个是不正确的?(D)A. 向关系SC 插入元组时,S#和C#都不能是空值(NULL)B. 可以任意删除关系SC中的元组C. 向任何一个关系插入元组时,必须保证该关系主码值得唯一性D. 可以任意删除关系C中的元组9. 查找每个学生的学号、姓名、选修的课程名和成绩,将使用关系(D)A. 只有 S,SC B. 只有 SC,C C. 只有 S,C D. S,SC,C10若要查找姓名中第1个字为“王”的学生的学号和姓名,则下面列出的SQL语句中,哪个(些)是正确的?(B). SELECT S#,SNAME FROM S WHERE SNAME=王%. SELECT S#,SNAME FROM S WHERE SNAME LIKE 王%. SELECT S#,SNAME FROM S WHERE SNAME LIKE王_A. B. C. D.全部11. 若要“查询选修了3门以上课程的学生的学号”,则正确的SQL语句是(B)A. SELECT S# FROM SC GROUP BY S# WHERE COUNT(*)>3B. SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>3C. SELECT S# FROM SC ORDER BY S# WHERE COUNT(*)>3D. SELECT S# FROM SC ORDER BY S# HAVING COUNT(*)>312. 若要查找“由张劲老师执教的数据库课程的平均成绩、最高成绩和最低成绩”,则将使用关系(D)。A. S和SC B. SC和C C. S和C D. S、SC和 C下面第(13)-(16)题基于这样的3个表,即学生表S、课程表C和学生选课表SC,它们的关系模式如下。S(S#,SN,SEX,AGE,DEPT)(学号,姓名,性别,年龄,系别)C(C#,CN)(课程号,课程名称)SC(S#,C#,GRADE)(学号,课程号,成绩)13. 检索所有比“王华”年龄大的学生姓名、年龄和性别。下面正确的SELECT语句是(A)A. SELECT SN,AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=王华)B. SELECT SN,AGE,SEX FROM S WHERE SN=王华C. SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=王华)D. SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE14. 检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT 语句是(D)。A. SELECT S# FROM SC WHERE C#=C2 AND GRADE>=(SELECT GRADE FROM SC WHERE C#=C2)B. SELECT S# FROM SC WHERE C#=C2 AND GRADE IN(SELECT GRADE GORM SC WHERE C#=C2)C. SELECT S# FROM SC WHERE C#=C2 AND GRADE NOT IN(SELECT GRADE GORM SC WHERE C#=C2)D. SELECT S# FROM SC WHERE C#=C2 AND GRADE>=ALL(SELCET GRADE FROM SC WHERE C#=C2)15. 检索4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的 SELECT 语句是(B)A. SELECT S#,SUM(GRAGE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY S# HAVING COUNT(*)>=4B. SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESCC. SELECT S#,SUM(GRADE)FROM SC WHERE GRADE>=60 HAVING COUNT(*)<=4 GROUP BY S#ORDER BY 2 DESCD. SELECT S#,SUM(GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S# ORDER BY 217. 数据库见表 4.59和表4.60,若职工表的主关键字是职工号,部门表的关键字是部门号,SQL操作(B)不能执行。A. 从职工表中删除行(025,王芳,03,720)B. 将行(005,乔兴,04,720)插入到职工表中C. 将职工号为“001”的工资改为700D. 将职工号为038的部门号改为“03”表4.59 职工表 职工号 职工名部门号工资E.F.001李红01580G.H.005刘军01670I.J.025王芳03720K.L.038张强02650M.N.表4.60 部门表部门号部门名主任01人事处高平02财务处蒋华03教务处许红04学生处杜琼18. 若用如下的STUDENT表。CREATE TABLE STUDENT(NO char(4) NOT NULL,NAME char(8) NOT NULL,SEX char(2),AGE int);可以插入到STUDENT表中的是(B)。A. (1031,曾华,男,23) B. (1031,曾华,NULL,NULL)C. (NULL,曾华,男,23) D. (1031,NULL,男,23)19. 有关系 S(S#,SNAME,SAGE), C(C#,CNAME), SC(S#,C#,GRADE)。要查询选修”ACCESS”课的年龄不小20的全体学生姓名的SQL语句”SELECT SNAME FROM S,C,SC WHERE 子句”。这里的WHERE子句的内容是(A)A. S.S#=SC.S# AND C.C#=SC.C# ANDSAGE>=20 AND CNAME=ACCESSB. S.S#=SC.S# AND C.C#=SC.C# AND SAGE IN>=20 AND CNAME IN ACCESSC. SAGE>=20 AND CNAME=ACCESSD. SAGE>=20 AND CNAMEINACCESS20. 若要在基本表中S中增加一列CN(课程名),可用(D)A. ADD TABLE S(CN char(8)B. ADD TABLE S ALTER(CN char(8)C. ALTER TABLE S ADD(CN,char(8)D. ALTER TABLE S(ADD CN char(8)21. 学生关系模式 S(S#,SNAME,AGE,SEX), S的属性分别表示学生的学号、姓名、年龄、性别。要在表S中删除一个属性“年龄”,可选用的SQL语句是(B)。A. DELETE AGE FROM SB. ALTER TABLE S DROP COLUMN AGEC. UPDATE S AGED. ALTER TABLE SAGE22.设关系数据库中有一个表S的关系模式为S(SN,CN,GRADE),其中SN为学生名,CN为课程名,二者为字符型;GRADE为成绩,数值型,取值范围0-100。若要更正“王二”的化学成绩为85分,则可用(A)。A. UPDATE S SET GRADE=85 WHERE SN=王二 AND CN=化学B. UPDATE S SET GRADE=85 WHERE SN=王二 AND SN=化学C. UPDATE GRADE=85 WHERE SN=王二 AND CN=化学D. UPDATE GRADE=85 WHERE SN=王二 AND CN=化学23. 在SQL语言中,子查询语句是(D)。A. 返回单表中数据子集的查询语句B. 选取多表中字段子集的查询语句C. 选取单表中字段子集的查询语句D. 嵌入到另一个查询语句之中的查询语句24.在SQL语言中,条件“年龄 BETWEEN 20 AND 30”表示年龄在20-30,且(A)。A. 包括20岁和30岁 B.不包括20岁和30岁C. 包括20岁但不包括30岁 D.包括30岁但不包括20岁25. 下列聚合函数不忽略空值(NULL)的是(C)。A. SUM(列名) B. MAX(列名)C. COUNT(*) D.NOT(AGE IS NULL)26. 在SQL中,下列涉及空值的操作,不正确的是(C)。A. AGE IS NULL B. AGE IS NOT NULLC. AGE=NULL D.NOT(AGE IS NULL)27. 已知学生选课信息表sc(sno,cno,grade)。 查询“至少选修了一门课程,但没有学习成绩的学生学号和课程号”的SQL语句是(C)。A. SELECT sno,cno FROM sc WHERE grade=NULLB. SELECT sno,cno FROM sc WHERE grade IS”C. SELECT sno,cno FROM sc WHERE grade IS NULLD. SELECT sno,cno FROM sc WHERE grade=”28. 有如下的SQL语句。. SELECT sname FROM s,sc WHERE grade<60. SELECT sname FROM s WHERE sno IN(SELECT sno FROM sc WHERE grade<60).SELECT sname FROM s,sc WHERE s.sno=sc.sno AND grade<60若要查找分数(grade)不及格的学生姓名(sname),则以上正确的有哪些?(C)A. 和 B. 和 C. 和 D. 、 和二 填空题1. 关系R(A,B,C)和S(A,D,E,F),有R.A=S.A。 若将关系代数表达式R.A,R.B,S.D,S.F(RS),用SQL语言的查询语句表示,则为:SELECT R.A,R.B,S.D,S.F FROM R,S WHERE R.A=S.A 。2. SELECT 语句中,WHERE 子句用于选择满足给定条件的元组。使用 GROUP BY 子句可按指定列的值分组,同时使用 HAVING 可提取满足条件的组。若希望将查询结果排序,则应在SELECT 语句中使用 ORDER BY 子句,其中, ASC 选项表示升序,DESC 选项表示降序。若希望查询的结果不出现重复元组,则应在SELECT 子句中使用 Distinct 保留字。WHERE 子句的条件表达式中,字符串匹配的操作符是 LIKE ,与0个或多个字符匹配的通配符是 % ,与单个字符匹配的通配符是 _下划线 。3. 子查询的条件不依赖于父查询,这类查询称为 嵌套子查询 ,否则称为 相关子查询。4. 有学生信息表 student,求年龄在 20-22岁(含 20 岁和22岁)的学生姓名和年龄的SQL语句是:SELECT sname,age FROM student WHERE age BETWEEN 20 AND 22 。5. 在“学生选课”数据库中的两个关系如下。S(SNO,SNAME,SEX,AGE),SC(SNO,CNO,GRADE)则与SQL命令“SELECT SNAME FROM S WHERE SNO IN(SELECT SNO FROM SC WHERE GRADE<60)”等价的关系代数表达式是 Sname (Grade<60(SCS) ) 。6. 在“学生-选课-课程”数据库中的3个关系如下。S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)。现要查找选修“数据库技术”这门课程的学生的学生姓名和成绩,可使用如下的SQL语句。SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME=数据库技术 AND S.S#=SC.S# AND SC.C#=C.C# 。7. 设关系SC(sno,cname,grade),各属性的含义分别为学号、课程名、成绩。若要将所有学生的“数据库技术”课程的成绩加5分,能正确完成该操作的SQL语句是 UPDATE SC SET 。grade=grade+5 WHERE cname=数据库技术。8. 在SQL语言中,若要删除一个表,应使用的语句是 DROP TABLE 。三 综合练习题1. 现有如下关系。学生(学号,姓名,性别,专业,出生日期)教师(教师编号,姓名,所在部门,职称)授课(教师编号,学号,课程编号,课程名称,教材,学分,成绩)用SQL语言完成下列功能。(1) 删除学生表中学号为“20013016”的记录。(2) 将编号为“003”的教师所在的部门改为“电信系”。(3) 向学生表中增加一个“奖学金”列,其数据类型为数值型。答:DELETE FROM 学生 WHERE 学号=20013016 UPDATE 教师 SET 所在部门=电信系 WHERE 教师编号=003 ALTER TABLE 学生 ADD(奖学金 INT )2. 现有如下关系:学生S(S#,SNMAE,AGE,SEX)学习SC(S#,C#,GRADE)课程C(C#,CNAME,TEACHER)用SQL语言完成下列功能:1)统计有学生选修的课程门数。2)求选修C4课程的学生的平均年龄。3)求李文老师所授课程的每门课程的学生平均成绩。4)检索姓名以王打头的所有学生的姓名和年龄。5)在基本表S中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(S#,SNAME,SEX)中。6)往基本表S中插入一个学生元组(S9,WU,18,F)。7) 把低于总平均成绩的女同学的成绩提高10分。8) 把王林同学的选课记录全部删除。答:SELECT COUNT(DISTINCT C#) FROM SC SELECT AVG(AGE) FROM S WHERE S# IN (SELECT S# FROM SC WHERE C#=C4) SELECT AVG(GRADE) FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=李文) GROUP BY C# SELECT SNAME,AGE FROM S WHERE SNAME LIKE 王% INSERT INTO STUDENT SELECT S#,SNAME,SEX FROM S WHERE EXISTS (SELECT * FROM SC WHERE S.S#=SC.S# GROUP BY S# HAVING MIN(GRADE)>=80)或者INSERT INTO STUDENT SELECT S#,SNAME,SEX FROM S WHERE SNO IN (SELECT SNO FROM SC GROUP BY S# HAVING MIN(GRADE)>=80) INSERT INTO S VALUES(S9,WU,18,F) UPDATE SC SET GRADE=GRADE*1.1 WHERE GRADE<(SELECT AVG(GRADE)FROM SC)AND S# IN (SELECT S# FROM S WHERE SEX=女)DELETE FROM SC WHRER S#=(SELECT S# FROM S WHERE SNAME=王林)3. 设要创建学生选课数据库,库中包括学生、课程和选课3个表,其表结构如下。学生(学号,姓名,性别,年龄,所在系)课程(课程号,课程名,先行课)选课(学号,课程号,成绩)用SQL语句完成下列操作。(1) 创建学生选课库。(2) 创建学生、课程和选课表,其中学生中“性别”的域为“男”或“女”,默认值为“男”。答:CREATE DATABASE 学生选课库 学生表:USE grademanagerGoCREATE TABLE student (sno char(10) PRIMARY KEY sname varchar(10) ,ssex char(2) CHECK(ssex IN('男','女') DEFAULT '男',sdept char(8)课程表CREATE TABLE course (cno char(5) NOT NULL, cname varchar(20) NOT NULL,cterm tinyint NOT NULL,CONSTRAINT C1 PRIMARY KEY(cno,cterm)CREATE TABLE sc (sno char(10) NOT NULL, cno char(5) NOT NULL, degree numeric(5,1),cterm tinyint NOT NULL, CONSTRAINT A1 PRIMARY KEY(sno,cno,cterm),CONSTRAINT A2 FOREIGN KEY(sno) REFERENCES STUDENT(sno),CONSTRAINT A3 FOREIGN KEY(cno) REFERENCES COURSE(cno), CONSTRAINT A5 CHECK(degree BETWEEN 0 AND 100)

    注意事项

    本文(mysql数据库武洪萍版第四章习题与答案.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开