SQL语言基础复习题计科.doc

上传人:s****u 文档编号:12766973 上传时间:2020-05-23 格式:DOC 页数:8 大小:89KB
返回 下载 相关 举报
SQL语言基础复习题计科.doc_第1页
第1页 / 共8页
SQL语言基础复习题计科.doc_第2页
第2页 / 共8页
SQL语言基础复习题计科.doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
填空1. 查询语句的From子句中表的连接方式有 全连接 和JOIN 两种。2. 使用INSERT INTOSELECT语句可以快速的从一个表或多个表中插入多行数据。3. MySQL中索引默认为 升序排序,使用UNIQUE表示创建的是唯一性索引,使用 FULLTEXT 表示创建全文索引,使用 spatial 表示创建空间索引。4. MySQL中有 普通索引 、 唯一性索引 、 主键 和 全文索引 四种索引。 5. 创建存储过程和存储分别函数create procedure和 create function 语句;与存储过程相比,存储函数不能拥有 输出参数,不能使用 call 语句调用,而且存储函数必须含有一条 return 语句。6. 使用一个游标需要用到四条特殊的语句分别是 declare curson 、 open curson 、fetch curson和close curson。7. 删除表数据可以使用Delete语句或者 truncate table 语句;更新表数据使用 update table 语句。8. DECLARE HANDLER语句为错误代码声明了一个处理程序,DECLARE HANDLER语法格式为:DECLARE handler_type HANDLER FOR condition_value,. sp_statement,其中handler_type是处理程序的类型,主要包括 continue 、 exit 和 undo 三种;其中,使用continue则MySQL不中断存储过程的处理;sp_statement表示 处理程序激活时将要执行的动作。9. 在MySQL中提供了 主键约束 、 UNIQUE约束 、 外键约束 和 CHECK约束 四种约束来实现数据的完整性。10. MySQL中如果在控制流程中需要执行两条或者两条以上的语句,则应将这些语句定义在BEGIN和END之间。11. 关系数据库设计包含三个层次的设计,分别是概念结构设计、逻辑结构设计和数据库物理设计。12. 在Insert语句中使用High_priority修饰符,可以使操作优先执行。13. 存储过程体内声明的变量称为局部变量,此类变量只能使用declare语句在beginend语句块中声明,使用复制符号“=”用set语句进行赋值。14. SELECT IFNULL(NULL, MYSQL);的结果为MYSQL;SELECT NULLIF (MYSQL, MYSQ); 的结果为MYSQL。15. 假设表tb1和表tb2中都有两个字段id int(4),pwd char(4),其中id为主键。当tb1表中id只与tb2表中id值相同时,将表tb1中对应的pwd值修改为“AAA”,将表tb2中对应的pwd值修改为“BBB”。则对应语句为:Update tb1,tb2 SET tb1.pwd=AAA,tb2.pwd=BBB where tb1.id=tb2.id。16. MySQL支持的索引类型有btree和hash,创建索引时可以使用关键字using指定索引的类型,如果不指定,则自动创建一个btree索引。17. 使用show tables语句可以显示当前数据库中所有表的名称;使用show index from table_name可以显示表的索引信息;使用show grants for use_name语句显示一个用户的权限;使用show events语句可以显示所有事件的列表。18. 使用show databases语句可以显示MySQL中所有数据库的名称;使用use命令可以从一个数据库跳转到另一个数据库;使用show create database数据库名 语句可以显示创建一个数据库的语句;使用show create table 表名 语句可以显示创建一个数据表的语句。19. 在MySQL中,使用delimiter可以修改语句的结束标志。20. MySQL中使用NOW()函数可以获得当前系统的日期和时间,使用curtime()函数可以返回当前的时间。Curdate() :日期21. 在Insert语句中使用关键字ignore,则在执行语句是出现的错误会被当做警告处理;使用on duplicate key update选项插入行时,若导致UNIQUE KEY或主键出现重复值,则根据UPDAE后的语句修改行,使用此选项时关键字delayed将被忽视。22. 变量用于临时存放数据,变量的数据随着程序的运行而改变,在MYSQL中,变量可分为用户变量和系统变量。23. 在MySQL中,用户变量与 连接 相关,并且以 开头。24. 使用show tables语句可以显示MySQL当前数据库中所有表的名称;使用show warnings语句可以显示最后一条执行的语句所产生的警告和通知;使用show errors语句可以显示最后一条执行的语句所产生的错误。25. 在MySQL中,使用declare condition语句为错误代码声明对应的处理程序。26. 在MySQL中,系统变量可分为全局系统变量和会话系统变量。27. 在MySQL中,可以定义一段程序存放在数据库中,这样的程序称为存储过程。28. 使用show status语句可以显示一些系统特定资源的信息;使用show privileges语句可以显示服务器所支持的不同权限;使用show create procedure status语句可以显示数据库中所有存储过程的基本信息。29. 使用Handler open语句可以打开一个表,使用Handler read语句可以浏览一个已经打开表的数据行,行读取完毕后可以使用Handler close语句关闭表。30. MySQL保证数据安全的三种方法 数据的备份,二进制日志文件,数据库复制。31. Handler语句的使用过程是:打开一个表,浏览表中的行,关闭打开的表。1. 简答题1. 简述DB、DBMS、DBS、DBA的概念及其相互之间的关系。DB:数据库是存在数据的仓库,按照一定的格式存放在计算机上。DBMS:数据库管理系统是管理数据的系统,它按照一定数据模型组织数据。DBS:数据库系统,是计算机系统和数据库管理系统构成的系统。DBA:数据库管理员进行对数据库进行定义操作日常维护的工作人员其中DBS包含DS、DBMS、DBA。2. 什么是数据库系统,它有什么特点?数据库系统是指计算机系统中引入数据后构成的系统。数据库系统由数据库、数据库管理系统、应用系统、数据库管理员构成。特点:数据结构化、数据的共享性高,冗余度低,易扩充、数据独立性高、数据库有DBMS统一管理和控制。3. 什么是数据模型?数据库管理系统所采用的主要数据模型有哪些?模型化和数据之间的工具。层次模型、网状模型、关系模型。4. 简述MySQL中是如何处理事务,语句分别是什么。1 开始事务 start transaction | begin shiwu2 结束事务 commit shiwu3 撤销事务 rollback shiwu4 回滚事务 rollback shiwu to savepoint ss5. 简述建立索引的主要作用。1 快速读取数据2 保证数据记录的唯一性3 实现表与表之间的参照完整性4 在使用group by ordre by检索时,利用索引可以减少排序和分组时间6. 试述数据完整性的含义和分类。含义:存储在数据库中的数据的准确性和一致性。分类:实体完整性、参照完整性、用户自定义完整性7. 简述事务的属性。原子性、隔离性、一致性、持久性8. 当多用户对数据库并发访问时,锁定所起到的作用有哪些?防止用户读取正在由其他用户更改的数据吗,并且可以防止多个用户同时更改相同的数据,确保事务完整性和数据库一致性。9. 简述MySQL中可以授予新用户的权限有哪些。列权限、表权限、数据库权限、用户权限10. 简述MySQL如何实现数据的完整性。实体完整性、参照完整性、UNIQUE约束、CHECK约束11. 简述MySQL提供的隔离级别。序列化、可重复读、提交读、未提交读12. 简述关系型数据库的设计步骤。概念结构设计、逻辑结构设计、数据库物理设计13. 简述使用客户端程序备份和恢复数据的过程。14. 试说明存储过程的特点和分类。存储过程在服务器端运行,执行速度快;存储过程执行一次后,其执行规划就驻留在高速缓冲存储器;确保数据库安全性。分类:系统存储过程、扩展存储过程、本地存储过程、临时存储过程、远程存储过程。15. 简述MySQL中索引的分类。普通索引、主键索引、唯一性索引、全文索引16. 简述MySQL为保证数据安全所提供的方法。17. 请说明存储过程、存储函数、触发器的异同。18. 简述MySQL数据库的特点。19. 简述索引的弊端。索引时以文件的形式存储的,索引文件要占磁盘空间。假若存在大量的索引,索引文件可能回避数据文件更快的达到最大文件的尺寸。其次,在更新表中索引列上的数据时,对索引也需要更新的,这可能需要重新组织一个索引,假若表中的索引很多,那是浪费时间的。也就是说,降低了添加、删除、修改和其他写入操作的效率。表中索引越多,更新表的时间越长20. MySQL中的表维护语句有哪些?2. 应用题有STUDENT数据库如下:S(SNO,CLASS,SNAME,SAGE,SEX)分别代表学生的学号,班级,姓名,年龄和性别。C(CNO,CNAME,TNAME)分别代表课程的编号,课程名和任课教师。SC(SNO,CNO,SCORE)分别代表选课学生的学号和所选课号以及成绩。1. 创建以上三个表,要求定义出每个表的主外码。create database student;create table S( Sno char(6) not null primary key, Class char(10) not null, Sname char(6) not null, Sage int, Sex char(2);create table C( Cno char(6) not null primary key, Cname char(10) not null, Tname char(6) not null);create table SC( Sno char(6) not null, Cno char(6) not null, Score int, primary key(Sno,Cno), constraint fk_sno foreign key (Sno) references S(Sno), constraint fk_cno foreign key (Cno) references C(Cno);2. 修改表S增加新的列TELE,设置其数据类型为char(11),取其不为空。alter table Sadd column tele char(11) not null;3. 分别使用关系代数和查询语句检索选修课程号为c001的课程的学生的学号。select sno from sc where cno=c001;4. 分别使用关系代数和查询检索至少选修张三老师所讲课程中一门课程的女生姓名。select Sname from s,c,scwhere s.sno=sc.sno and c.cno=sc.cno and c.tname=张三 and s.sex=女5. 分别使用关系代数和查询检索所有男生的信息,要求有学生姓名,年龄和班级。select Sname,Sage,Class from Swhere Sex=男6. 分别使用关系代数和查询检索选了课程名为“程序设计基础”的学生的学号、姓名,成绩。select s.sno,sname,score from s,sc,cwhere s.sno=sc.sno and c.cno=sc.cno and cname=程序设计基础7. 分别使用关系代数和查询检索没有选修c001号课程的学生的学号。select sno from swhere sno not in(select sno from sc where cno=c001)8. 查询所有选修课程的数量、总分及最高最低分,要求只输出课程数量大于2的行。select distinct count(cno),max(score),min(score) from sc9. 建立查询显示平均成绩及格的学生所选课程的数量、总分及他的最高、最低分。select avg(score),count(cno),sum(score),max(score),min(score)from scgroup by sno10. 查询选了课程名为数据库或网络的学生的选课情况(要求有学号,课程号,分数)。select sno,sc.cno,score from sc,cwhere sc.cno=c.cno and cname in(数据库,网络)11. 检索选修课程号为c001的课程的学生的学号。select sno from sc where cno=c00112. 建立查询显示同时选修了“C001”和“C003”号课程的学生的学号。select sno from sc where cno=c001and sno in(select sno from sc where cno=c003)13. 建立查询显示至少选修了两门课程的学生学号。select sno from scgroup by snohaving count(cno)=214. 查找通信工程专业平均成绩在85分以上的学生的学号和平均成绩。select s.sno,avg(score) from s,scwhere s.sno=sc.sno and class=通信工程 group by snohaving avg(score)8515. 查询没有选课的学生学号。select sno from swhere sno not in(select distinct sno from sc)16. 将所有不及格课程的成绩加5分。update sc set score=score+5where score=x2 then set xs=x1; else set xs=x2; end if;end$delimiter ;call bijiao(5,6,tt) -调用存储过程21. 完成以下查询功能的SQL语句。l 创建S表的一个名为XS_COPY1的拷贝。create table xs_copy1 like sl 创建S表的一个名为XS_COPY2的拷贝,并且复制其内容。create table xs_copy2 as (select * from s)l 找出至少选修了两门课程学生的学号。select sno from scgroup by snohaving count(cno)2l 找出所有姓李的学生,并按其年龄由小到大排序。select * from swhere sname like 李%order by Sage ASCl 找出性别为男,出生年月在1982.1至1986.12之间的学生的基本信息。select * from swhere birthday=1962.1 and birthday5023. 创建一个视图,要求显示选修课程名为数据库的学生的学号、姓名、课程号、课程名和分数。create view vw_kcasselect s.sno,sname,c.cno,cname,score from s,c,scwhere s.sno=sc.sno and c.cno=sc.cno andcname=数据库24. 创建一个视图,包含学生的学号,姓名,课程号,课程名,分数。create view vw_sscasselect s.sno,sname,c.cno,cname,score from s,c,scwhere s.sno=sc.sno and c.cno=sc.cno25. 创建一个60秒后启动的事件,将选课表中分数小于60分的记录删除。create event edelon schedule at now()+interval 10 seconddodelete from sc where score=231. 在关系S上创建删除触发器S_Delete,当删除S上的某一学生时,在SC表上的对应学生的选课情况也将被删除。delimiter $create trigger S_Delete after deleteon s for each rowbegin delete from sc where sno=old.sno;end$delimiter ;32. 利用T-SQL在关系C上创建更改触发器DU,当更改C上的某一课程的编号时,在SC表上的对应课程编号也将被更改。delimiter $create trigger DU after updateon c for each rowbegin update sc set cno=new.cno where cno=old.cno;end$delimiter ;33. 假设在本地服务器下,用户名为root,密码为123456,备份STUDENT数据库到D盘FILE文件夹下(存储在data.sql文件中),然后删除STUDENT,最后利用data.sql文件还原STUDENT。34. 假设用户在星期一下午1点使用mysqldump工具进行数据库STUDENT的完全备份,备份文件为file.sql。从星期一下午1点开始用户启用日志,bin_log.000001文件保存了从星期一下午1点到星期二下午1点的所有更改,在星期二下午1点运行一条SQL语句:FLUSH LOGS;此时创建了bin_log.000002文件,在星期三下午1点时数据库崩溃。现要将数据库恢复到星期三下午1点时的状态,请按顺序写出要执行的命令。(用户名为root,密码为123456)35. 创建一个60秒后启动的事件,将选课表中分数小于60分的记录删除。create event edelon schedule at now()+interval 10 seconddodelete from sc where score60;
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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