sql经典题集及答案

合集下载

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案

(完整版)sql语句练习题及答案⼀在数据库 school 中建⽴student , sc, course 表。

学⽣表、课程表、选课表属于数据库School ,其各⾃的数据结构如下:学⽣Student (Sno,Sname,Ssex,Sage,Sdept)课程表course(Cno,Cname,Cpno,Ccredit)学⽣选课SC(Sno,Cno,Grade)⼆设定主码1 Student表的主码:sno2 Course表的主码:cno3 Sc表的主码:sno,cno1写出使⽤ Create Table 语句创建表 student , sc, course 的SQL语句23 删除student表中的元组4在数据库school中删除关系student5在student表添加属性sbirthdate 类型datetimeDelete1 删除所有JSJ 系的男⽣delete from Student where Sdept=’JSJ’ and Ssex=’男’;2 删除“数据库原理”的课的选课纪录delete from SC where Cno in (select Cno fromCourse where Cname=’数据库原理’);Update1 修改0001 学⽣的系科为: JSJ2 把陈⼩明的年龄加1岁,性别改为⼥。

2 修改李⽂庆的1001课程的成绩为93 分3 把“数据库原理”课的成绩减去1分Select 查询语句⼀单表1查询年龄在19⾄21岁之间的⼥⽣的学号,姓名,年龄,按年龄从⼤到⼩排列。

2查询姓名中第2个字为“明”字的学⽣学号、性别。

3查询 1001课程没有成绩的学⽣学号、课程号4查询JSJ 、SX、WL 系的年龄⼤于25岁的学⽣学号,姓名,结果按系排列5按10分制查询学⽣的sno,cno,10分制成绩(1-10分为1 ,11-20分为2 ,30-39分为3,。

90-100为10)6查询 student 表中的学⽣共分布在那⼏个系中。

SQL基础知识题库100道及答案(完整版)

SQL基础知识题库100道及答案(完整版)

SQL基础知识题库100道及答案(完整版)1. 在SQL 中,用于创建表的语句是()A. CREATE TABLEB. INSERT INTOC. UPDATED. DELETE答案:A2. 以下哪个关键字用于在SQL 中添加数据()A. ADDB. INSERTC. APPENDD. PUT答案:B3. 在SQL 中,用于从表中检索数据的语句是()A. SELECTB. GETC. FETCHD. REQUEST答案:A4. 以下哪个关键字用于在SQL 中更新数据()A. MODIFYB. CHANGEC. UPDATED. REPLACE答案:C5. 要从表中删除数据,应使用的SQL 语句是()A. DROPB. DELETEC. REMOVED. CLEAR答案:B6. SQL 中用于创建索引的关键字是()A. CREATE INDEXB. MAKE INDEXC. BUILD INDEXD. ESTABLISH INDEX答案:A7. 以下哪种数据类型用于存储整数()A. INTB. FLOATC. VARCHARD. DATE答案:A8. 用于存储字符串的常见数据类型是()A. CHARB. INTC. DECIMALD. DOUBLE答案:A9. 在SQL 中,用于对结果集进行排序的关键字是()A. SORTB. ORDER BYC. ARRANGED. ALIGN答案:B10. 以下哪个运算符用于等于比较()A. =B. ==C. <>D. >答案:A11. 用于不等于比较的运算符是()A.!=B. < >C. NOT EQUALSD. DIFFERENT答案:B12. 以下哪个运算符用于大于比较()A. >B. >=C. <D. <=答案:A13. 用于小于比较的运算符是()A. <B. <=C. >D. >=答案:A14. 以下哪个关键字用于在SQL 中进行分组操作()A. GROUP BYB. SORT BYC. CLASSIFY BYD. CATEGORIZE BY答案:A15. 聚合函数SUM 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:A16. 聚合函数AVG 用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最大值答案:B17. COUNT 函数用于()A. 计算总和B. 计算平均值C. 计算数量D. 计算最小值答案:C18. MAX 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:C19. MIN 函数用于()A. 计算总和B. 计算平均值C. 计算最大值D. 计算最小值答案:D20. 在SQL 中,用于连接两个表的关键字是()A. JOINB. CONNECTC. LINKD. BIND答案:A21. 内连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:A22. 左连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:B23. 右连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:C24. 全连接使用的关键字是()A. INNER JOINB. LEFT JOINC. RIGHT JOIND. FULL JOIN答案:D25. 在SQL 中,用于限制结果集行数的关键字是()A. LIMITB. RESTRICTC. BOUNDD. CONSTRAINT答案:A26. 以下哪个子句用于在SQL 中进行条件筛选()A. WHEREB. HAVINGC. FROMD. GROUP BY答案:A27. HAVING 子句通常与()一起使用A. GROUP BYB. ORDER BYC. WHERED. FROM答案:A28. 在SQL 中,用于创建视图的语句是()A. CREATE VIEWB. MAKE VIEWC. BUILD VIEWD. ESTABLISH VIEW 答案:A29. 以下哪个关键字用于删除视图()A. DROP VIEWB. DELETE VIEWC. REMOVE VIEWD. CLEAR VIEW 答案:A30. 要在SQL 中添加注释,可以使用()A. //B. /* */C. #D. --答案:D31. 在SQL 中,以下哪种数据类型用于存储日期和时间()A. DATEB. TIMEC. DATETIMED. TIMESTAMP答案:C32. 用于提取日期部分的函数是()A. DATEPART()B. DAY()C. MONTH()D. YEAR()答案:A33. 以下哪个函数用于计算字符串的长度()A. LENGTH()B. SIZE()C. COUNT()D. LEN()答案:A34. 在SQL 中,用于将字符串转换为大写的函数是()A. UPPER()B. TO_UPPER()C. CAPITALIZE()D. BIGCASE()答案:A35. 用于将字符串转换为小写的函数是()A. LOWER()B. TO_LOWER()C. SMALLCASE()D. DECAPITALIZE()答案:A36. 以下哪个函数用于去除字符串两端的空格()A. TRIM()B. CLEAN()C. REMOVE_SPACES()D. STRIP()答案:A37. 在SQL 中,用于执行事务的语句是()A. BEGIN TRANSACTIONB. START TRANSACTIONC. OPEN TRANSACTIOND. INITIATE TRANSACTION答案:A38. 提交事务使用的语句是()A. COMMITB. SUBMITC. CONFIRMD. VALIDATE答案:A39. 回滚事务使用的语句是()A. ROLLBACKB. REVERTC. CANCELD. ABORT答案:A40. 以下哪个关键字用于在SQL 中创建存储过程()A. CREATE PROCEDUREB. MAKE PROCEDUREC. BUILD PROCEDURED. ESTABLISH PROCEDURE答案:A41. 调用存储过程使用的语句是()A. EXECUTEB. CALLC. INVOKED. RUN答案:B42. 在SQL 中,用于删除存储过程的语句是()A. DROP PROCEDUREB. DELETE PROCEDUREC. REMOVE PROCEDURED. CLEAR PROCEDURE答案:A43. 以下哪个关键字用于在SQL 中创建触发器()A. CREATE TRIGGERB. MAKE TRIGGERC. BUILD TRIGGERD. ESTABLISH TRIGGER44. 删除触发器使用的语句是()A. DROP TRIGGERB. DELETE TRIGGERC. REMOVE TRIGGERD. CLEAR TRIGGER答案:A45. 在SQL 中,用于授予权限的语句是()A. GRANTB. ALLOWC. PERMITD. AUTHORIZE答案:A46. 收回权限使用的语句是()A. REVOKEB. DENYC. REFUSED. FORBID答案:A47. 以下哪个关键字用于在SQL 中创建索引的唯一性约束()A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:A48. 用于定义主键约束的关键字是()A. PRIMARY KEYB. UNIQUE KEYC. FOREIGN KEYD. INDEX KEY答案:A49. 外键约束使用的关键字是()A. FOREIGN KEYB. OUTER KEYC. RELATED KEYD. REFERENCED KEY答案:A50. 以下哪个约束用于检查数据的有效性()A. CHECKB. VALIDATEC. INSPECTD. VERIFY答案:A51. 在SQL 中,以下哪个语句用于创建数据库()A. CREATE DATABASEB. MAKE DATABASEC. BUILD DATABASED. ESTABLISH DATABASE 答案:A52. 要删除数据库,应使用的语句是()A. DROP DATABASEB. DELETE DATABASEC. REMOVE DATABASED. CLEAR DATABASE 答案:A53. 以下哪个关键字用于在SQL 中切换数据库()A. USEB. SELECT DBC. CHANGE DBD. SWITCH DB答案:A54. 在SQL 中,以下哪种操作可以对多个表同时进行()A. 联合查询B. 子查询C. 交叉连接D. 内连接55. 子查询可以在以下哪个子句中使用()A. SELECTB. FROMC. WHERED. 以上都可以答案:D56. 以下哪个语句用于在SQL 中创建用户()A. CREATE USERB. MAKE USERC. BUILD USERD. ESTABLISH USER答案:A57. 删除用户使用的语句是()A. DROP USERB. DELETE USERC. REMOVE USERD. CLEAR USER答案:A58. 在SQL 中,用于修改表结构的语句是()A. ALTER TABLEB. MODIFY TABLEC. CHANGE TABLED. UPDATE TABLE答案:A59. 以下哪个操作可以添加列到表中()A. ADD COLUMNB. INSERT COLUMNC. APPEND COLUMND. PUT COLUMN答案:A60. 要删除表中的列,应使用()A. DROP COLUMNB. DELETE COLUMNC. REMOVE COLUMND. CLEAR COLUMN答案:A61. 在SQL 中,以下哪个关键字用于对结果集进行分页()A. PAGEB. PAGINGC. OFFSETD. LIMIT答案:D62. 以下哪个函数用于返回当前日期()A. CURDATE()B. NOW()C. CURRENT_DATE()D. TODAY()答案:C63. 用于返回当前时间的函数是()A. CURTIME()B. NOW()C. CURRENT_TIME()D. THIS_TIME()答案:C64. 在SQL 中,以下哪个关键字用于为表中的列设置默认值()A. DEFAULTB. INITIALC. BASED. START答案:A65. 以下哪个语句用于在SQL 中重命名表()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE答案:A66. 要获取表的结构信息,可以使用以下哪个语句()A. DESCRIBE TABLEB. SHOW TABLE STRUCTUREC. EXPLAIN TABLED. GET TABLE DETAILS答案:A67. 在SQL 中,以下哪个关键字用于在查询结果中去除重复行()A. DISTINCTB. UNIQUEC. SINGLED. ONLY答案:A68. 以下哪个函数用于对字符串进行拼接()A. CONCAT()B. JOIN()C. MERGE()D. COMBINE()答案:A69. 在SQL 中,用于创建临时表的关键字是()A. TEMPORARY TABLEB. TEMP TABLEC. TRANSIENT TABLED. SHORT_LIVED TABLE答案:A70. 以下哪个语句用于在SQL 中为列添加注释()A. COMMENT ON COLUMNB. NOTE ON COLUMNC. REMARK ON COLUMND. EXPLAIN COLUMN答案:A71. 在SQL 中,以下哪个关键字用于在子查询中引用外部查询的结果()A. CORRELATEDB. RELATEDC. CONNECTEDD. LINKED答案:A72. 以下哪个操作符用于在SQL 中进行范围查询()A. BETWEENB. INC. LIKED. EXISTS答案:A73. 用于模糊匹配的操作符是()A. LIKEB. SIMILARC. MATCHD. CLOSE_TO答案:A74. 在SQL 中,以下哪个关键字用于对查询结果进行排序时按照多个列进行()A. ORDER BY MULTIPLEB. SORT BY SEVERALC. ORDER BY MORE THAN ONED. ORDER BY MULTIPLE COLUMNS答案:D75. 以下哪个函数用于返回字符串的子串()A. SUBSTRING()B. PART()C. SEGMENT()D. SLICE()答案:A76. 在SQL 中,以下哪个关键字用于在存储过程中定义输入参数()A. INB. OUTC. INOUTD. PARAMETER答案:A77. 用于定义输出参数的关键字是()A. INB. OUTC. INOUTD. PARAMETER答案:B78. 以下哪个关键字用于在存储过程中定义既可以输入又可以输出的参数()A. INB. OUTC. INOUTD. PARAMETER答案:C79. 在SQL 中,以下哪个关键字用于在创建表时指定自增列()A. AUTO_INCREMENTB. SELF_INCREMENTC. AUTO_GROWD. SELF_GROW答案:A80. 以下哪个语句用于在SQL 中创建序列()A. CREATE SEQUENCEB. MAKE SEQUENCEC. BUILD SEQUENCED. ESTABLISH SEQUENCE 答案:A81. 要获取序列的下一个值,可以使用以下哪个函数()A. NEXTVAL()B. GET_NEXT()C. NEXT_VALUE()D. FOLLOWING_VALUE()答案:A82. 在SQL 中,以下哪个关键字用于锁定表()A. LOCKB. HOLDC. FREEZED. BLOCK答案:A83. 以下哪种锁类型用于防止其他事务读取或修改数据()A. 共享锁B. 排他锁C. 意向共享锁D. 意向排他锁答案:B84. 共享锁允许其他事务()A. 读取数据B. 修改数据C. 删除数据D. 以上都不行答案:A85. 在SQL 中,以下哪个关键字用于解锁表()A. UNLOCKB. RELEASEC. FREED. UNBIND答案:A86. 以下哪个函数用于计算两个日期之间的天数差()A. DATEDIFF()B. DATE_DIFFERENCE()C. DAY_DIFFERENCE()D. TIME_DIFFERENCE()答案:A87. 在SQL 中,以下哪个关键字用于在查询中使用别名()A. ASB. LIKEC. SAME ASD. EQUALS答案:A88. 以下哪个语句用于在SQL 中创建索引的唯一约束()A. UNIQUE INDEXB. PRIMARY INDEXC. FOREIGN INDEXD. CHECK INDEX答案:A89. 要在SQL 中创建全文索引,应使用()A. FULLTEXT INDEXB. COMPLETE TEXT INDEXC. ALL_TEXT INDEXD. WHOLE_TEXT INDEX 答案:A90. 在SQL 中,以下哪个关键字用于在存储过程中声明变量()A. DECLAREB. DEFINEC. STATED. ANNOUNCE答案:A91. 以下哪个语句用于在SQL 中为变量赋值()A. SETB. ASSIGNC. GIVED. PUT答案:A92. 在SQL 中,以下哪个关键字用于在存储过程中进行条件判断()A. IFB. WHENC. CASED. CHECK答案:A93. 以下哪种语句用于在SQL 中进行循环操作()A. FORB. WHILEC. LOOPD. 以上都是答案:D94. 在SQL 中,用于退出循环的语句是()A. BREAKB. EXITC. STOPD. END答案:A95. 以下哪个函数用于将数字转换为字符串()A. CAST()B. CONVERT()C. TO_STRING()D. NUM_TO_STR()答案:B96. 在SQL 中,用于获取当前会话的用户名称的函数是()A. CURRENT_USERB. SYSTEM_USERC. LOGGED_IN_USERD. SESSION_USER答案:A97. 以下哪个关键字用于在SQL 中创建存储函数()A. CREATE FUNCTIONB. MAKE FUNCTIONC. BUILD FUNCTIOND. ESTABLISH FUNCTION 答案:A98. 要删除存储函数,应使用的语句是()A. DROP FUNCTIONB. DELETE FUNCTIONC. REMOVE FUNCTIOND. CLEAR FUNCTION答案:A99. 在SQL 中,用于获取数据库版本信息的函数是()A. VERSION()B. DB_VERSION()C. DATABASE_VERSION()D. SYSTEM_VERSION()答案:A100. 以下哪个操作可以在SQL 中对表进行重命名()A. RENAME TABLEB. MODIFY TABLE NAMEC. CHANGE TABLE NAMED. UPDATE TABLE NAME答案:A。

sql考试题及答案

sql考试题及答案

sql考试题及答案SQL考试题及答案一、选择题(每题2分,共20分)1. 下列哪个SQL语句用于查询数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 以下哪个SQL语句用于删除表中的数据?A. DROP TABLEB. DELETE FROMC. TRUNCATE TABLED. ALTER TABLE答案:B3. SQL中的主键约束是什么?A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:B4. 以下哪个函数用于计算字符串的长度?A. CONCAT()B. SUBSTRING()C. LENGTH()D. UPPER()答案:C5. 以下哪个语句用于添加新的数据表?A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B6. SQL中的LIKE语句用于什么?A. 排序B. 条件搜索C. 聚合数据D. 连接表答案:B7. 以下哪个语句用于修改表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. TRUNCATE TABLE答案:B8. SQL中的GROUP BY语句用于什么?A. 排序结果B. 聚合数据C. 过滤数据D. 连接表答案:B9. 以下哪个语句用于删除数据库?A. DROP TABLEB. DROP DATABASEC. DELETE FROMD. TRUNCATE TABLE答案:B10. SQL中的INNER JOIN用于什么?A. 内连接B. 外连接C. 全连接D. 交叉连接答案:A二、填空题(每空2分,共20分)1. SQL中的______语句用于插入数据到表中。

答案:INSERT INTO2. 要查询所有列,可以使用SQL中的______关键字。

答案:*3. SQL中的______语句用于删除表。

sql考试题及答案

sql考试题及答案

sql考试题及答案一、选择题1. SQL是什么意思?a. Structured Query Languageb. Sequential Query Languagec. Structured Question Languaged. Sequential Question Language答案:a. Structured Query Language2. 下列哪个关键词用于在SQL中创建新表?a. UPDATEb. INSERTc. CREATEd. SELECT答案:c. CREATE3. 在SQL中,用于查找符合一定条件的记录的关键词是?a. SELECTb. UPDATEc. INSERTd. DELETE答案:a. SELECT4. 在SQL中,如何在表中添加新的数据?a. INSERT INTOb. ADD INTOc. UPDATEd. MODIFY答案:a. INSERT INTO5. 在SQL中,如何删除表中的数据?a. DELETE ROWb. REMOVEc. DELETE FROMd. ERASE FROM答案:c. DELETE FROM二、填空题1. SQL中用于选择所有列的通配符是______。

答案:*2. SQL中用于指定唯一键的关键词是______。

答案:PRIMARY KEY3. SQL中用于按照某一列对结果进行排序的关键词是______。

答案:ORDER BY4. SQL中用于更新数据的关键词是______。

答案:UPDATE5. SQL中用于计算某一列的总和的函数是______。

答案:SUM三、简答题1. 请解释SQL中的JOIN操作。

答案:JOIN操作用于连接两个或多个表,基于表之间的关联关系获取相关数据。

常用的JOIN类型包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN。

2. 什么是SQL注入?如何防止SQL注入?答案:SQL注入是一种恶意的攻击方式,通过在用户输入的数据中插入恶意的SQL代码,以获取、修改或删除数据库中的数据。

sql笔试题及答案

sql笔试题及答案

sql笔试题及答案1. 题目1:查询员工表中工资大于5000的员工信息,并按照工资降序排列。

答案:SELECT * FROM 员工表 WHERE 工资 > 5000 ORDER BY 工资DESC;解析:使用SELECT语句查询员工表中满足工资大于5000的记录,并使用ORDER BY子句按照工资字段降序排列。

2. 题目2:统计订单表中每个客户的订单总数,并按照订单总数升序排列。

答案:SELECT 客户, COUNT(订单编号) AS 订单总数 FROM 订单表GROUP BY 客户 ORDER BY 订单总数 ASC;解析:使用SELECT语句查询订单表中每个客户的订单总数,并使用GROUP BY子句按照客户字段进行分组,COUNT函数用于统计订单编号,AS关键字用于为统计结果起别名,ORDER BY子句按照订单总数字段升序排列。

3. 题目3:查询学生表中不重复的学生姓名和对应的年龄。

答案:SELECT DISTINCT 学生姓名, 年龄 FROM 学生表;解析:使用SELECT DISTINCT语句查询学生表中不重复的学生姓名和对应的年龄。

4. 题目4:查询订单表中订单金额最大的订单信息。

答案:SELECT * FROM 订单表 WHERE 订单金额 = (SELECT MAX(订单金额) FROM 订单表);解析:使用SELECT语句查询订单表中订单金额等于最大订单金额的订单信息,使用子查询和MAX函数找出最大订单金额。

5. 题目5:查询销售表中每个月份的总销售金额。

答案:SELECT DATE_FORMAT(销售日期, '%Y-%m') AS 月份, SUM(销售金额) AS 总销售金额 FROM 销售表 GROUP BY DATE_FORMAT(销售日期, '%Y-%m');解析:使用SELECT语句查询销售表中每个月份的总销售金额,使用DATE_FORMAT函数将销售日期格式化成年月的形式,并使用SUM函数统计销售金额,使用GROUP BY子句按照月份进行分组。

大学sql数据库试题及答案

大学sql数据库试题及答案

大学sql数据库试题及答案一、选择题(每题2分,共20分)1. SQL中用于查询数据的命令是:A. INSERTB. UPDATEC. SELECTD. DELETE答案:C2. 在SQL中,以下哪个关键字用于创建新表?A. CREATEB. INSERTC. SELECTD. DROP答案:A3. 以下哪个选项不是SQL数据类型?A. INTB. VARCHARC. DATED. FILE答案:D4. SQL语句中,用于更新数据的命令是:A. SELECTB. INSERTC. UPDATED. DELETE答案:C5. 在SQL中,哪个关键字用于删除表?A. DROPB. REMOVEC. DELETED. ERASE答案:A6. SQL中用于添加数据的命令是:A. INSERTB. CREATEC. UPDATED. ADD答案:A7. 在SQL中,以下哪个关键字用于查询特定列的数据?A. WHEREB. SELECTC. FROMD. ORDER BY答案:B8. 以下哪个选项不是SQL中的聚合函数?A. COUNTB. AVGC. MAXD. FIND答案:D9. SQL中用于删除数据的命令是:A. SELECTB. INSERTC. UPDATED. DELETE答案:D10. 在SQL中,以下哪个关键字用于从数据库中删除表?A. DROPB. REMOVEC. ERASED. DELETE答案:A二、填空题(每题2分,共20分)1. 在SQL中,使用________关键字可以为表创建索引。

答案:CREATE INDEX2. SQL中的________子句用于指定查询结果的排序方式。

答案:ORDER BY3. 使用SQL的________函数可以计算表中行的数量。

答案:COUNT4. 在SQL中,________关键字用于指定查询条件。

答案:WHERE5. SQL中的________函数用于计算平均值。

SQL试题(附答案)

SQL试题(附答案)

《SQL 数据库管理与开发教程与实训》试题<A 卷>一、单项选择题<每小题1分,共10分>1.下列四项中,不属于数据库特点的是〔 C 〕.A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是〔 D 〕.A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server 安装程序创建4个系统数据库,下列哪个不是〔 C 〕系统数据库.4.〔 A 〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A .DBMSB .DBC .DBSD .DBA 5.在SQL 中,建立表用的命令是 < B >. A.CREATE SCHEMAB.CREATE TABLE C.CREATE VIEWD.CREATE INDEX6.SQL 语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且< A >.A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是< C >.A.SQL 语言是关系数据库的国际标准语言B.SQL 语言具有数据定义、查询、操纵和控制功能C.SQL 语言可以自动实现关系数据库的规范化D.SQL 语言称为结构查询语言8.在MS SQL Server 中,用来显示数据库信息的系统存储过程是< D >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL 语言中,删除表中数据的命令是< A >.A. DELETEB. DROPC. CLEARD. REMOVE10.SQL 的视图是从〔 C 〕中导出的.A. 基本表B. 视图C. 基本表或视图D. 数据库三、填空题<每空1分,共20分>1.数据库系统具有数据的_外模式___、_模式________和内模式三级模式结构.2.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.3.语句 select ascii<'D'>, char<67> 的执行结果是:_______68__和____C_____.4.语句 select lower<'Beautiful'> , rtrim<'我心中的太阳 '> 的执行结果是:_____beautiful_______和__我心中的太阳________.5.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.6.关系运算主要有________、________和连接.7.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性.8.在SQL Server 2000中,数据库对象包括__表____、_视图_____、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等.9.语句 select day<'2004-4-6'>, len<'我们快放假了.'> 的执行结果是:_6________和________7_.10.语句 select round<13.4321,2>, round<13.4567,3>的执行结果是:_13.4300________和_______13.4570__.五、设计题<共50分>现有关系数据库如下:数据库名:我班同学数据库同学表<学号 char<6>,##,性别,年龄,民族,##号,宿舍号>宿舍表<宿舍号 char<6>,宿舍 >用SQL语言实现下列功能的sql语句代码:2.创建数据表[宿舍表]代码<3分>;宿舍表<宿舍号 char<6>,宿舍 >要求使用:主键<宿舍号>、宿舍:以633开头的7位同学表<学号 char<6>,##,性别,年龄,民族,##号,宿舍号>要求使用:主键<学号>、外键<宿舍号>、默认<民族>、非空<民族,##,年龄>、唯一<##号>、检查<性别>4.将下列宿舍信息添加到宿舍表的代码<8分>宿舍号宿舍101 6331157102 6331777修改宿舍号为101的宿舍:6331158删除宿舍号为102的宿舍信息5.创建视图[同学表视图]代码<5分>;同学表视图<学号, ##, 性别, 年龄, 民族, ##号, 宿舍号, 宿舍 >7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄.<5分>8.创建带参数的存储过程[某宿舍同学]:##, 性别, 宿舍执行此过程,查询'101'宿舍情况 <8分>9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程.请写出账户、权限设置的T_SQL脚本.<9分>一、三、《SQL数据库管理与开发教程与实训》试题<B卷>马建鹏老师一、单项选择题<每小题1分,共10分>1.〔〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A.DBMSB.DBC.DBSD.DBA2.下列四项中,不属于SQL2000实用程序的是〔〕.A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server安装程序创建4个系统数据库,下列哪个不是〔〕系统数据库.A. masterB. modelC. pubD. msdb4.下列哪个不是sql 数据库文件的后缀.A..mdfB..ldfC..tifD..ndf5.数据定义语言的缩写词为 < >.6.SQL语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且< >.A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.SQL的视图是从〔〕中导出的.A. 基本表B. 视图C. 基本表或视图D. 数据库8.在SQL语言中,建立存储过程的命令是<>A、CREATE PROCEDUREB、CREATE RULEC、CREATE DURED、CREATE FILE9.SQL语言中,删除表中数据的命令是< >.A. DELETEB. DROPC. CLEARD. REMOVE10.在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb三、填空题<每空1分,共20分>1.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.2.语句 select ascii<'D'>, char<67> 的执行结果是:_________和_________.3.语句 select lower<'Beautiful'> , rtrim<'我心中的太阳 '> 的执行结果是:____________和___________.4.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.5.关系运算主要有________、________和连接.6.完整性约束包括_______完整性、______完整性、参照完整性和用户定义完整性.7.T-SQL 语言中,有_________运算、字符串连接运算、比较运算和_________运算.8.语句 select day<'2004-4-6'>, len<'我们快放假了.'> 的执行结果是:_________和_________.9.语句 select floor<17.4>, floor<-214.2>, round<13.4382,2>, round<-18.4562,3>的执行结果是: _________、_________、_________和_________.五、设计题<共45分>现有关系数据库如下:数据库名:学生成绩数据库学生信息表<学号 char<6>,##,性别,民族,##号>课程信息表<课号 char<6>,名称>成绩信息表<ID,学号,课号,分数>用SQL语言实现下列功能的sql语句代码.1.创建数据库[学生成绩数据库]代码<2分>.2.创建数据表[课程信息表]代码;〔2分〕课程信息表<课号 char<6>,名称>要求使用:主键<课号>、非空<名称>3.创建数据表[学生信息表]代码;〔4分〕学生信息表<学号 char<6>,##,性别,民族,##号>要求使用:主键<学号>、默认<民族>、非空<民族,##>、唯一<##号>、检查<性别>4.创建数据表[成绩信息表];〔5分〕成绩信息表<ID,学号,课号,分数>要求使用:外键<学号,课号>、检查<分数>,自动编号<ID>5.将下列课程信息添加到课程信息表的代码〔8分〕课号名称100101 西班牙语100102 大学英语修改课号为100102的课程名称:专业英语删除课号为100101的课程信息6.创建视图[成绩信息表视图]的代码;〔5分〕成绩信息表视图<学号,##,课号,课程名称,分数>7.从学生信息表中查询姓刘的女同学的情况:##、性别、民族.〔2分8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、##.〔4分〕9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码〔7分〕存储过程功能:查询某门课程的最高分、最低分、平均分;执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;10设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程.请写出账户、权限设置的T_SQL脚本.<6分>一、五、《SQL数据库管理与开发教程与实训》试题<C卷>杜兆将老师一、单项选择题<每小题1分,共10分>1.下列四项中,不属于数据库特点的是〔〕.A.数据共享B.数据完整性C. 数据冗余很高D.数据独立性高2. 目前〔〕数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统.A.关系B.面向对象C.分布3. 数据库设计中的概念结构设计的主要工具是〔〕.A.数据模型B.E—R模型 C.新奥尔良模型D.概念模型4. 〔〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A.DBMSB.DBC.DBSD.DBA5. 在SQL中,建立视图用的命令是 < >.A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6. SQL语言中,条件"年龄BETWEEN 20 AND 30"表示年龄在20至30之间,且< >.A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁但不包括30岁D.包括30岁但不包括20岁8. 在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9. SQL语言中,删除一个表的命令是< >.A. DELETEB. DROPC. CLEARD. REMOVE10.SQL的视图是从〔〕中导出的.A.基本表B. 视图 C. 基本表或视图D. 数据库三、填空题<每空1分,共20分>1. 数据库系统具有数据的___________、_________和_________三级模式结构.2. SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.3. 语句 select ascii<'C'>, char<68>, len<'你是BigTiger '> 的执行结果是:_________、_________和_________.4. 语句select upper<'beautiful'> ,ltrim <'我心中的太阳'> 的执行结果是:____________和___________.5. 关系运算主要有________、________、________.6. 选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.7. 索引的类型主要有__和_ __.8. 在SQL Server 2000中,数据库对象包括数据表、______、______、触发器、规则、默认和用户自定义的数据类型等.五、设计题<共50分>现有关系数据库如下:数据库名:学生成绩数据库学生表<学号 char<6>,##,性别,民族,##号>课程表<课号 char<6>,名称>成绩表<ID,学号,课号,分数>用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生成绩数据库]代码<2分>;create database [学生成绩数据库]gouse [学生成绩数据库]go2.创建[课程表]代码<2分>;课程表<课号 char<6>,名称>CREATE TABLE 课程表〔course CHAR<6>,PRIMARY KEY,Name CHAR<6>,NOT NULL,〕;要求使用:主键<课号>、非空<名称>3.创建[学生表]代码<6分>;学生表<学号 char<6>,##,性别,民族,##号>要求使用:主键<学号>、默认<民族>、非空<民族,##>、唯一<##号>、检查<性别>4.创建[成绩表]代码<4分>;成绩表<ID,学号,课号,分数>要求使用:主键<课号>、外键<成绩表.学号,成绩表.课号>、检查<分数>,自动编号<ID>5.将下列课程信息添加到课程表的代码<8分>课号课程名称100001 大学语文100002 大学英语100003 西班牙语修改课号为100002的课程名称:实用英语删除课号为100003的课程信息6.写出创建:成绩表视图<学号,##,课号,课程名称,分数>的代码;<4分>7.写出创建:某门课程成绩内嵌表值函数以与检索的代码;<6分>检索:所有修实用英语这门学生的成绩;8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以与执行的代码;<6分>执行:所有修实用英语这门学生的最高分、最低分、平均分;9.检索姓李的女同学的情况:##、性别、民族.<2分>10.检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、##.<4分>11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据.请写出账户、权限设置的T_SQL脚本.<6分>《SQL数据库管理与开发教程与实训》试题<C卷>参考答案一、1.C 2.A 3. B 4.A 5.C 6.A 7. 8.D 9.B 10.C二、1. N 2.N 3.Y 4.N 5.N 6.N 7. Y 8.N 9.N 10.Y三、1. 外模式、模式、内模式.2. ,3. 67, D, 124. BEAUTIFAL,我心中的太阳5. 选择、投影、连接.6. 水平, 垂直7. 聚簇索引非聚簇索引8. 视图、存储过程五、设计题1.create database [学生成绩数据库]gouse [学生成绩数据库]go2. create table 学生表<[学号] char<6> primary key,[##] nchar<4> not null,[性别] nchar<1> check<[性别] in <'男', '女'>>,[民族] nchar<8> default '汉族' not null,[##号] char<18> unique>3. create table 课程表<[课号] char<6> primary key,[名称] char<40> not null>4. create table 成绩表<ID integer IDENTITY<1, 1>,[学号] char<6> references 学生表<学号>,[课号] char<6> references 课程表<课号>,[分数] integer check<[分数] between 0 and 100>>5.insert 课程表 values<'100001', '大学语文'>insert 课程表 values<'100002', '大学英语'>insert 课程表 values<'100003', '西班牙语'>update课程表 set 名称='实用英语' where 课号='100002'delete课程表 where 课号='100003'6. create view [成绩表视图] asselect 成绩表.学号,##,成绩表.课号,名称课程名称,分数from 成绩表,学生表,课程表where 成绩表.学号=学生表.学号and 成绩表.课号=课程表.课号create view [成绩表视图] asselect 成绩表.学号,##,成绩表.课号,名称课程名称,分数from 成绩表 join 学生表 on 成绩表.学号=学生表.学号join 课程表 on 成绩表.课号=课程表.课号7. create function [某门课程成绩]<课程名 varchar<40>>returns table asreturn <select 学号,##,课程名称,分数 from 成绩表视图where 课程名称=课程名>create function [某门课程成绩]<课程名 varchar<40>>returns table asreturn <select * from 成绩表视图where 课程名称=课程名>select * from [某门课程成绩]<'实用英语'>8.create procedure [某门课程高低均分]课程名 varchar<40> asselect 课程名称, 最高分=max<分数>、最低分=min<分数>、平均分=avg<分数> from 成绩表视图where 课程名称 = 课程名execute [某门课程高低均分] '实用英语'9.select ##, 性别, 民族 from 学生表 where ## like '李%' and 性别='女'10. select 学号, ## from 学生表 where学号 in <select distinct 学号 from成绩表 where分数>=90>11.use [学生成绩数据库]exec sp_addlogin 'U领导', NULL, '学生成绩数据库', '简体中文'exec sp_password NULL, '888', 'U领导'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'use [学生成绩数据库]exec sp_addlogin 'U领导', '888', '学生成绩数据库'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'《SQL数据库管理与开发教程与实训》试题<D卷>刘占文老师一、单项选择题<每小题1分,共10分>1.数据库应用系统是由数据库、数据库管理系统〔与其开发工具〕、应用系统、〔〕和用户构成.A.DBMSB.DBC.DBSD.DBA2.数据库管理系统的英文缩写是〔〕.A.DBMSB.DBSC.DBAD.DB3.在关系运算中,选取符合条件的元组是〔〕运算.A.除法B.投影C.连接D.选择4.数据库设计中的逻辑结构设计的任务是把〔〕阶段产生的概念数据库模式变换为逻辑结构的数据库模式.A.需求分析B.物理设计C.逻辑结构设计D.概念结构设计5.一个规范化的关系至少应当满足〔〕的要求.A.一范式B.二范式C.三范式D.四范式6.在实际数据库设计中,"学号"通常作为〔〕存在.A.数据结构B.数据存储C.数据项目D.处理过程7.SQL Server 2000中删除表中记录的命令是〔〕.A.DELETEB.SELECTC.UPDATED.DROP8.运行命令SELECT ASCII〔‘Alklk’〕的结果是〔〕.A.48B.32C.90D.659.在SQL中,建立视图用的命令是 < >.A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX10.在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb三、填空题<每空1分,共20分>1.数据库三个要素是__________、__________和_____________.2. 语句 select year<'1931-9-18'> 的执行结果是____________.3.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围.4.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行.5.事务<Transaction>可以看成是由对数据库的若干操作组成的一个单元,这些操作要么______,要么________<如果在操作执行过程中不能完成其中任一操作>.6. SQL Server 2000 采用的身份验证模式有________________模式和________模式.7.用户访问SQL Server数据库时,经过了两个_______验证和________验证安全验证阶段.8.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份.9.SQL Server代理主要由______、______和警报来组成.10.SQL Server复制把服务器分为______服务器、______服务器和订阅服务器三种. 五、设计题<1—6题每空2分,第7题10分,共40分>1.计算1+2+3+……+100的和,并使用PRINT显示计算结果.DECLARE I int,sum int,csum char<10>SELECT I=1,sum=0WHILE I<=________BEGINSELECT sum= __________SELECT I=I+1ENDSELECT csum=convert<char<10>,sum>__________ ’1+2+3+……+100=’+ csum2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空.CREATE ________ CLASS<CLASSNO ______<8> NOT NULL,DEPARTNO CHAR <2> NOT NULL,CLASSNAME CHAR <____> NOT NULL〕3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集.USE XKDECLARE COUNO VARCHAR<3>,COUNAME VARCHAR<20>_________________________FORSELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO_________________________FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEWHILE FETCH_STATUS=0BEGINPRINT ’课程号:’+ COUNO +’课程名称:’+ CouNameFETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEEND_________________________DEALLOCATE CRSCOURSSE4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看"STUDENT"表中"00电子商务"班的学生信息.USE XKCREATE ____________ V_STUDENTASSELECT *FROM ____________WHERE CLASSNO=’20000001’5.使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回"STUDEND"表中所有班级代码为200000001的记录.USE XKCREATE ____________ P_STUDENTASSELECT *____________ STUDENTWHERE CLASSNO=’20000001’6.创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条"记录已修改"的消息.USE XK_________________ON STUDENT_________________ASPRINT ‘记录已修改’7.定义事务向[学生]数据库的[选课表]中插入学号=‘20030021’的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交.选课表<学号,课号,报名号>假设要插入的记录为以下三条:‘20030021’,‘01’,1 ‘20030021’,‘02’,2 ‘20030021’,‘03’,3根据以上要求编写程序,并指出本题定义的事务是否成功提交.《SQL数据库管理与开发教程与实训》试题<D卷>参考答案一、单项选择题1.D 2.A 3.D 4.D 5.C 6.C 7.D 8.D 9.C 10.D二、判断题1.N 2.N 3.N 4.Y 5.Y 6.N 7.Y 8.N 9.Y 10.N三、填空题1.数据结构、数据操作、完整性约束2.19313.域完整性4.触发器5.都完成、都取消6.Windows身份验证、混合7.身份、权限8.完整、差异、事务日志、文件和文件组9.操作员、作业10.发布、分发五、设计题1.100 sum+i print2.table char 203.Declare crscourse cursoropen crscourseclose crscourse4.viewstudent5.procedurefrom6.Alter trigger testfor update7.Use 学生Begin transactionInsert 选课表<学号,课程号,报名号> values<‘20030021’,‘01’,1>Insert 选课表<学号,课程号,报名号> values<‘20030021’,‘02’,2>Insert 选课表<学号,课程号,报名号> values<‘20030021’,‘03’,3>Declare num intSet num=<select count<*> from 选课表 where 学号=‘20030021’>If num>4beginRollback transactionPrint ‘超过报名门数!’endElseBeginmit transactionPrint ‘报名成功!’endgo本题定义的事务成功提交.《SQL数据库管理与开发教程与实训》试题<E卷>刘占文老师三、填空题<每空1分,共20分>1.SQL语言主要由组成.2.SQLServer2000采用的身份验证模式有Windows身份验证模式和_________模式.3.语句 SELECT<7+3>*4-17/<4-<8-6>>+99%4的执行结果是_____________.4. ________是由一个或多个数据表〔基本表〕或视图导出的虚拟表.5._____________用于保证数据库中数据表的每一个特定实体的记录都是惟一的.6.索引的类型有______________和非聚集索引.7._________是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句.8.触发器定义在一个表中,当在表中执行________、________或delete操作时被触发自动执行.9.事务的ACID属性是指________性、________性、_______性和_______性.10.数据库管理系统的安全性通常包括两个方面,一是指数据________的安全性,二是指数据_______的安全性.11.SQL Server代理主要由________、操作员和________来组成.12.SQL Server复制有快照复制、________复制和________复制3种类型.五、设计题<每小题5分,共40分>现有关系数据库如下:数据库名:学生成绩数据库用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生成绩数据库]代码<2分>;2.创建[课程表]代码<2分>;课程表<课号 char<6>,名称>要求使用:主键<课号>、非空<名称>3.创建[学生表]代码<2分>;学生表<学号 char<6>,##,性别,民族>要求使用:主键<学号>、默认<民族>、非空<民族,##>、检查<性别>4.创建[成绩表]代码<2分>;成绩表<学号,课程号,分数>要求使用:外键<成绩表.学号,成绩表.课程号>、检查<分数>5.将下列课程信息添加到课程表中课号课程名称100001 大学语文100002 大学英语6.写出创建成绩表视图<学号,##,课程号,课程名称,成绩>的代码;7.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分8.检索姓李的女同学的信息:##、性别、民族.9.设置SQL身份验证的账户:登录名:U领导密码:888数据库用户名:U读者权限:可查询查询本数据库中所有表的数据.10.《SQL数据库管理与开发教程与实训》试题<E卷>参考答案一、单项选择题1.C 2.A 3.D 4.D 5.B 6.C 7.A 8.D 9.B 10.D二、判断题1.N 2.Y 3.Y 4.N 5.N 6.Y 7.Y 8.N 9.N 10.Y三、填空题1.数据定义语言<DDL>、数据操作语言<DML>2.混合3.354.视图5.实体完整性6.聚集索引7.存储过程8.insert、update9.原子、一致、独立、持久10.访问、运行11.作业、警报12.事务、合并五、设计题1.create database [学生成绩数据库]gouse [学生成绩数据库]go2. create table课程表<[课程号] char<6> primary key,[课程名称] char<40> not null[任课教师] char<4>>3. create table 学生表<[学号] char<6> primary key,[##] nchar<4> not null,[性别] nchar<1> check<[性别] in <'男', '女'>>,[民族] nchar<8> default '汉族' not null>4. create table成绩表<[学号] char<6> references 学生表<学号>,[课程号] char<6> references 课程表<课号>,[成绩] integer check<[成绩] between 0 and 100>>5.insert 课程表 values<'100001', '大学语文'>insert 课程表 values<'100002', '大学英语'>insert 课程表 values<'100003', '西班牙语'>6.create view [成绩表视图] asselect 学号,##,课程号,课程名称,成绩 from 成绩表,学生表where 成绩表.学号=学生表.学号select 学号,##,课程号,课程名称,成绩 from 成绩表 join 学生表on 成绩表.学号=学生表.学号7.create procedure [分数]课程名 nchar<16> asselect 课程名称, 最高分=max<分数>、最低分=min<分数>、平均分=avg<分数> from 成绩表视图where 课程名称 = 课程名8.select ##, 性别, 民族 from 学生表 where ## like '李%' and 性别='女' 9.use [学生成绩数据库]exec sp_addlogin 'U领导', '888', '学生成绩数据库', '简体中文'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'10.Begin transactionInsert 成绩表<学号,课程号,分数> values<‘20030021’,’001’,80>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’002’,90>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’003’,80>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’004’,70>Declare num intSet num=<select count<*> from 成绩表 where 学号=‘20030021’>If num>4Rollback transactionElsemit transactiongo《SQL数据库管理与开发教程与实训》试题<F卷>郭鲜凤老师一、单项选择题<每小题1分,共10分>1.SQL Server系统中的所有服务器级系统信息存储于哪个数据库〔〕.A. masterB. modelC. tempdbD. msdb2.下列标识符可以作为局部变量使用〔〕.A. MyvarB. My varC. @MyvarD. @My var3.以下关于主键的描述正确的是〔〕.A.标识表中唯一的实体B.创建唯一的索引,允许空值C.只允许以表中第一字段建立D.表中允许有多个主键4.为数据表创建索引的目的是〔〕.A.提高查询的检索性能B.创建唯一索引C.创建主键D.归类5.下列哪个不是sql 数据库文件的后缀.A..mdfB..ldfC..dbfD..ndf6.在SQL SERVER服务器上,存储过程是一组预先定义并〔〕的Transact-SQL语句.A.保存B.编译C.解释D.编写7.数据定义语言的缩写词为 < >.8.以下关于外键和相应的主键之间的关系,正确的是< >.A.外键并不一定要与相应的主键同名B.外键一定要与相应的主键同名C.外键一定要与相应的主键同名而且唯一D.外键一定要与相应的主键同名,但并不一定唯一9.在数据库设计中使用E-R图工具的阶段是< >.A.需求分析阶段B.数据库物理设计阶段C.数据库实施D.概念结构设计阶段10.在T-SQL语言中,修改表结构时,应使用的命令是〔〕A.UPDATEB. INSERTC. ALTERD. MODIFY三、填空题<每空1分,共30分>1. 目前最常用的数据库有层次数据库、_________数据库和_________数据库,其中_________数据库是目前应用最广泛的一种数据库.2. 关系数据模型的逻辑结构是__________,关系中的列称为________,行称为________.3. 关系数据库模型的数据操作主要包括插入、________、________和________数据.4. SQL、DCL和DML缩写词的意义是___________语言、___________语言和___________语言.5.实体之间的联系类型有三种,分别为________、________和________.6.数据库系统的三级模式结构和两级数据映像确保了数据的________独立性和________独立性.7.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份.8.SQL Server代理主要由______、______和_____来组成.9.SQL Server复制把服务器分为______服务器、______服务器和_____服务器三种.10.在SQL中,create view、alter view和drop view命令分别为________、________和________视图的命令.五.设计题<每小题5分,共40分>有一个[学生课程]数据库,数据库中包括三个表:学生表:Student由学号<Sno>、##<Sname>、性别<Ssex>、年龄<Sage>、所在系<Sdept>五个属性组成,记为:Student<Sno,Sname,Ssex,Sage,Sdept>,Sno 为关键字.课程表:Course由课程号<o>、课程名<ame>、先修课号<Cpno>、学分<Ccredit>四个属性组成,记为: Course<o,ame,Cpno,Ccredit> o为关键字.成绩表:SG由学号<Sno>、课程号<o>、成绩<Grade>三个属性组成,记为:SG<Sno,o,Grade> <SNO, O> 为关键字.用SQL语言实现下列功能:1.建立学生表[Student],其中学号属性不能为空,并且其值是唯一的.2.查考试成绩有不与格的学生的学号.3.将学号为05001学生的年龄改为22岁.。

(完整版)sql练习题+答案

(完整版)sql练习题+答案

(一) 新建以下几个表student(学生表):其中约束如下:(1)学号不能存在相同的(2)名字为非空(3)性别的值只能是’男’或’女’(4)系包括这几个:信息系,计算机科学系,数学系,管理系,中文系,外语系,法学系(5)出生日期为日期格式(6)年龄为数值型,且在0~100之间cs(成绩表):其中约束如下:(1)sno和cno分别参照student和course表中的sno,cno的字段(2)cj(成绩)只能在0〜100之间,可以不输入值create table cs (sno smallint not null referencesstudent ( sno ), ----定义成外键cno smallint not null referencescourse ( cno ), ----定义成外键cj smallint constraint e check (cj between0 and 100 ),---- 检查约束一—j(成绩)只能在~100之间,可以不输入值constraint f primary key ( sno , cno )---- 定义学生学号和课程号为sc表的主键)course(课程表)其约束如下:(1)课程号(cno)不能有重复的(2)课程名(cname非空(三)针对学生课程数据库查询(1)查询全体学生的学号与姓名。

Select sno , sname from student(2)查询全体学生的姓名、学号、所在系,并用别名显示出结果。

(3)查询全体学生的详细记录。

select * from student(4)查全体学生的姓名及其出生年份。

select sname , birth from student(5)查询学校中有哪些系。

select distinct dept from student(6)查询选修了课程的学生学号。

select sno from cs where eno is not null(7)查询所有年龄在20岁以下的学生姓名及其年龄。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

综合练习题D... 1.从关系中挑选出指定的属性组成新关系的运算称为()。

A.选择B.交换C.连接D.投影B...2.在下列关于关系的陈述中,错误的是()。

A.表中任意两行的值不能相同B.表中任意两列的值不能相同C.行在表中的顺序无关紧要D.列在表中的顺序无关紧要C...3.在关系中,关系的键由()。

A.多个任意属性组成B.至多由一个属性组成C.一个或多个其值能唯一识别该关系中任何元组的属性组成D.以上都不是C...4. SQL Server2005中,数据库的主数据文件的扩展名是()。

A. DBFB. LDFC. MDFD. NDFA...5.在数据库设计阶段中,下列属于概念设计阶段的描述工具的是( )。

A.ER图B. PAD图C.程序流程图D.DFD图A...6.数据库的并发操作会引起数据不一致的问题是 ( )。

A.丢失更新B.数据独立性会提高C.非法用户的使用D.增加数据冗余度D...7. 关系数据模型的三个组成部分中,不包括( )。

A.数据约束条件B.数据结构C.数据操作D.数据恢复C...8.下列四项中说法不正确的是( )。

A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性A...9.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是( )A. 多对一B.一对一C. 多对多D.一对多B...10.用于数据库恢复的重要文件是()。

A.备注文件B.日志文件C.数据库文件D.索引文件B...11.如何构造出一个合适的关系模型是()主要解决的问题。

A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段B...12.若事务T对数据A加上S锁,则其它事务对数据A( B )A.可加X锁B.可加S锁C.可加X锁和S锁D.不能加任何锁B...13.一个关系中的主键不能取空值属于( )规则。

A.参照完整性B.实体完整性C.自定义完整性D.约束C...14.在视图上不能完成的操作是( C )A.更新视图B.查询C.在视图上定义新的基本表D.在视图上定义新视图A15.要保证数据库的数据独立性,需要修改的是( )A.三层模式之间的两种映射B.模式与内模式C.模式与外模式D.三层模式D...16.若事务T对数据A加上X锁,则其它事务对数据A( D )A.可加X锁B.可加S锁C.可加X锁和S锁D.不能加任何锁A...17.下列说法正确的是()A.存储过程在创建时即在服务器上进行编译B. 触发器不是存储过程C. 创建索引是为了简化查询操作D. 以上都不正确C...18.SQL语言中,下列哪个子句是对数据进行分组( C )A.order byB.havingC.group byD.whereD...19.数据库系统的三级模式是指()。

A.外模式、模式、子模式B.子模式、模式、概念模式C.模式、内模式、存储模式D.外模式、模式、内模式C...20.以下()不是数据库管理系统的功能。

A.提供用户接口B.提供并发控制机制C.提供进程调度D.定义数据库A...21.下列实体类型的联系中,属于多对多联系的是(A )A.学生与课程之间的联系B.学校与教师之间的联系C.商品条形码与商品之间的联系D.班级与班长之间的联系C...22.下列说法中不正确的是( C )。

A.数据库减少了数据的冗余B.数据库中的数据可以共享C.数据库避免了一切的数据重复D.数据库具有较高的数据独立性A...23.定义唯一约束,用关键字()A.UNIQUE B.ONLY C.ONE D.NULLC...24.DBMS对数据库的锁机制是(C )的主要方法。

A.安全性控制B.完整性控制C.并发控制D.数据库恢复25.关系数据库中,完整性规则可分为域完整性、参照完整性和用户定义完整性。

26.数据库并发控制的主要技术是封锁技术。

27.数据模型通常由数据结构、数据操纵和完整性约束三要素组成。

28.数据库的物理设计主要考虑三方面的问题:选择合适的存储结构、分配存储空间、实现存取路径。

29.创建数据库时至少应包含一个数据文件和一个日志文件。

30.若两个事务间相互等待对方解锁,但永远等不到解锁机会,则会产生死锁现象。

31.关系代数中专门的关系运算包括:选择、投影、连接和除法。

32.事务具有原子性、隔离性、一致性、持久性等四个特性。

33.对课程表添加约束,限制学分字段值在0.5~5之间,可用命令:Alter table 课程表 add chek ( 学分 >=0.5 and 学分<=5) 34.数据库的数据独立性分为物理独立性和逻辑独立性两级。

35.DBMS提供的封锁协议可以确保未经授权的用户存取数据库中的数据。

36.数据库系统中核心的软件是数据库管理系统;最重要的用户是数据库管理员。

37. 在数据库设计阶段中,逻辑设计阶段的描述工具是 E-R图。

38.在select语句中,若想去掉查询结果中的重复值,可用distinct子句。

39.什么叫数据库系统,它由哪些部分来组成?组成:数据库、数据库管理员、用户、操作系统、数据库管理系统、应用系统。

概念:数据库系统是指在在计算机中引入数据库引入数据库后的系统。

数据库管理系统的主要功能有哪些?功能;1.数据定义功能。

2.数据组织、存储和管理功能。

3.数据操纵功能。

4.数据库的事务管理和运行管理。

5.数据库的建立和管理功能。

41.DBMS为数据库提供了哪些保护功能?各功能的含义是什么?1.完整性保护。

2.安全性保护。

3.并发控制。

4.数据恢复。

42.使用存储过程有何优点?写出创建和运行存储过程的T-SQL语句。

优点:减少网络通讯的负担。

可以在自己的存储过程内引用其他程序。

可以在单个存储过程中执行一系列sql语句。

43.引发触发器执行的操作有哪些?写出创建触发器的T-SQL语句。

44.数据管理技术经历了人工管理阶段、文件管理阶段和数据库管理阶段三个阶段,与文件系统相比,数据库系统有哪些优点?数据结构化。

2、数据共享性高、沉余度低。

3、数据独立性高。

4、数据由数据库统一管理和控制。

45数据模型是数据库系统的核心,简述数据模型的作用及三要素。

1.数据约束条件。

2.数据结构。

3.数据操纵。

46.简述数据库系统的模式结构。

外模式:模式:内模式:设一个数据库中有下列关系模式:学生(学号,姓名,性别,专业,出生日期);教师(教师编号,姓名,所在系,职称);授课(教师编号,学号,课程号,课程名称,教材,学分,成绩)。

请用关系代数表示下列查询:(1)查找学习“数据库原理”课程且成绩不及格的学生的学号和任课教师编号。

Select 学号,教师编号from 授课where 成绩<60 and 课程名称=‘数据库原理’(2)查找学习“英语”课程的“计算机应用”专业学生的学号,姓名和成绩。

Select 学生.学号,姓名,成绩from 学生,授课Where 专业=‘计算机应用’and 课程名称=‘英语’and 学生.学号=授课.学号现有一个关系数据库,其中包含三个关系:学生(学号,姓名,性别,专业、奖学金);课程(课程号,课程名,学分);学习(学号,课程号,分数)。

用关系代数表达式实现下列1—2小题:(1)检索“国际贸易”专业的学生信息,包括姓名、性别和奖学金;Select 姓名,性别,奖学金from 学生where 专业=‘国际贸易’(2)检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;Select 学号,姓名,专业from 学生where 学号not in(select 学号from 学习where 分数<80)用SQL语言实现下列3—10小题:(3)查询学分少于3分的课程名;Select 课程名from 课程where 学分<3(4)查询选修“数据库原理”且成绩低于60分的学生的学号、姓名和专业;。

Select 学号,姓名,专业from 学生, where 学号in(select 学号from 授课where 分数<60 and 课程号in (select 课程号from 课程where 课程名=‘数据库原理’))(5)检索姓“农”同学的信息,显示学号,姓名,性别,专业、奖学金。

Select 学号,性别,专业,奖学金from 学生where 姓名like‘农%’(6)检索每个专业的学生人数,显示专业、人数。

Select 专业,count(*)as 人数from 学生group by 专业(7)对平均成绩大于等于85分的学生,将其奖学金设为1000元;。

Alter table 学生add chak (奖学金=1000)where 学号in (select avg(成绩),学号from 学习where avg(成绩)>=85,group by 学号)(8)定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、课程名和学分;Create view AAAAsSelect 课程号,课程名,学分from 课程where 课程号in (select 课程号from 学习where 分数=100)(9)在SC表中定义一个限制学生选课门数不超过5门的触发器。

(10)定义带有输入参数的存储过程P1:查询某个学生(姓名)某门课(课程名)的成绩,显示姓名、课程名、成绩。

设有一个关系数据库,有三个基本表,表的结构如下:学生(学号,姓名,年龄,性别,系名);选课(学号,课程号,成绩);课程(课程号,.课程名,先行课程)。

写出完成下列操作的SQL语句:(1)查询选修了C1课程且成绩不及格的学生的学号、姓名和成绩。

Select 学生.学号,姓名,成绩from 学生,选课where 学生.学号=选课.学号and 课程号=‘c1’(2)查询其他系中,比计算机系学生年龄都小的学生的信息。

Select *from 学生where 年龄<(select min(年龄)from 学生where 系别=‘计算机系’)and 系别<>‘计算机系’(3)分组统计每门课程的平均分,显示课程号和平均分。

Select 课程号,avg(成绩)as 平均分from 选课group by 课程号(4)创建一个“计算机系”学生“数据库原理”课程的成绩视图,其中属性包括学号、姓名、课程名和成绩。

Create view 成绩视图AsSelect 学生.学号,姓名,课程名,成绩from 学生,选课,课程where系别=‘计算机系’and 课程名=‘数据库原理’and 学生.学号=选课.学号and 课程.课程号=选课.课程号--------(5)在“学生”表中添加“入学时间”字段,数据类型为日期时间型。

相关文档
最新文档