1、SQL语言基础温习题计科填空1.查询语句的From子句中表的连接方式有 全连接 和JOIN 两种。2.利用INSERT INTOSELECT语句能够快速的从一个表或多个表中插入多行数据。3.MySQL中索引默以为 升序排序,利用UNIQUE表示创建的是唯一性索引,利用 FULLTEXT 表示创建全文索引,利用 spatial 表示创建空间索引。4.MySQL中有 一般索引 、 唯一性索引 、 主键 和 全文索引 四种索引。 5.创建存储进程和存储别离函数create procedure和 create function 语句;与存储进程相较,存储函数不能拥有 输出参数,不能利用 call 语句
2、挪用,而且存储函数必需含有一条 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_typ
3、e是处置程序的类型,要紧包括 continue 、 exit 和 undo 三种;其中,利用continue那么MySQL不中断存储进程的处置;sp_statement表示 处置程序激活时将要执行的动作。9.在MySQL中提供了 主键约束 、 UNIQUE约束 、 外键约束 和 CHECK约束 四种约束来实现数据的完整性。10.MySQL中若是在操纵流程中需要执行两条或两条以上的语句,那么应将这些语句概念在BEGIN和END之间。11.关系数据库设计包括三个层次的设计,别离是概念结构设计、逻辑结构设计和数据库物理设计。12.在Insert语句中利用High_priority修饰符,能够使操作优
4、先执行。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
5、 =AAA,=BBB where =。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命令能够从一个数据库跳转到另一个数据库;利用s
6、how create database数据库名 语句能够显示创建一个数据库的语句;利用show create table 表名 语句能够显示创建一个数据表的语句。19.在MySQL中,利用delimiter能够修改语句的终止标志。20.MySQL中利用NOW()函数能够获适当前系统的日期和时刻,利用curtime()函数能够返回当前的时刻。Curdate() :日期21.在Insert语句中利用关键字ignore,那么在执行语句是显现的错误解被当做警告处置;利用on duplicate key update选项插入行时,假设致使UNIQUE KEY或主键显现重复值,那么依照UPDAE后的语句修
7、转业,利用此选项时关键字delayed将被轻忽。22.变量用于临时寄存数据,变量的数据随着程序的运行而改变,在MYSQL中,变量可分为用户变量和系统变量。23.在MySQL中,用户变量与 连接 相关,而且以 开头。24.利用show tables语句能够显示MySQL当前数据库中所有表的名称;利用show warnings语句能够显示最后一条执行的语句所产生的警告和通知;利用show errors语句能够显示最后一条执行的语句所产生的错误。25.在MySQL中,利用declare condition语句为错误代码声明对应的处置程序。26.在MySQL中,系统变量可分为全局系统变量和会话系统变量
8、。27.在MySQL中,能够概念一段程序寄存在数据库中,如此的程序称为存储进程。28.利用show status语句能够显示一些系统特定资源的信息;利用show privileges语句能够显示效劳器所支持的不同权限;利用show create procedure status语句能够显示数据库中所有存储进程的大体信息。29.利用Handler open语句能够打开一个表,利用Handler read语句能够阅读一个已经打开表的数据行,行读取完毕后能够利用Handler close语句关闭表。30.MySQL保证数据平安的三种方式 数据的备份,二进制日记文件,数据库复制。31.Handler语
9、句的利用进程是:打开一个表,阅读表中的行,关闭打开的表。1.简答题1.简述DB、DBMS、DBS、DBA的概念及其彼此之间的关系。DB:数据库是存在数据的仓库,依照必然的格式寄存在运算机上。DBMS:数据库治理系统是治理数据的系统,它依照必然数据模型组织数据。DBS:数据库系统,是运算机系统和数据库治理系统组成的系统。DBA:数据库治理员进行对数据库进行概念操作日常保护的工作人员其中DBS包括DS、DBMS、DBA。2.什么是数据库系统,它有什么特点?数据库系统是指运算机系统中引入数据后组成的系统。数据库系统由数据库、数据库治理系统、应用系统、数据库治理员组成。特点:数据结构化、数据的共享性高
10、,冗余度低,易扩充、数据独立性高、数据库有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
11、 by检索时,利用索引能够减少排序和分组时刻6.试述数据完整性的含义和分类。含义:存储在数据库中的数据的准确性和一致性。分类:实体完整性、参照完整性、用户自概念完整性7.简述事务的属性。原子性、隔离性、一致性、持久性8.当多用户对数据库并发访问时,锁定所起到的作用有哪些?避免用户读取正在由其他用户更改的数据吗,而且能够避免多个用户同时更改相同的数据,确保事务完整性和数据库一致性。9.简述MySQL中能够授予新用户的权限有哪些。列权限、表权限、数据库权限、用户权限10.简述MySQL如何实现数据的完整性。实体完整性、参照完整性、UNIQUE约束、CHECK约束11.简述MySQL提供的隔离级别。
12、序列化、可重复读、提交读、未提交读12.简述关系型数据库的设计步骤。概念结构设计、逻辑结构设计、数据库物理设计13.简述利用客户端程序备份和恢复数据的进程。14.试说明存储进程的特点和分类。存储进程在效劳器端运行,执行速度快;存储进程执行一次后,其执行计划就驻留在高速缓冲存储器;确保数据库平安性。分类:系统存储进程、扩展存储进程、本地存储进程、临时存储进程、远程存储进程。15.简述MySQL中索引的分类。一般索引、主键索引、唯一性索引、全文索引16.简述MySQL为保证数据平安所提供的方式。17.请说明存储进程、存储函数、触发器的异同。18.简述MySQL数据库的特点。19.简述索引的短处。索
13、引时以文件的形式存储的,索引文件要占磁盘空间。假假设存在大量的索引,索引文件可能回避数据文件更快的达到最大文件的尺寸。第二,在更新表中索引列上的数据时,对索引也需要更新的,这可能需要从头组织一个索引,假假设表中的索引很多,那是浪费时刻的。也确实是说,降低了添加、删除、修改和其他写入操作的效率。表中索引越多,更新表的时刻越长20.MySQL中的表保护语句有哪些?2.应用题有STUDENT数据库如下:S(SNO,CLASS,SNAME,SAGE,SEX)别离代表学生的学号,班级,姓名,年龄和性别。C(CNO,CNAME,TNAME)别离代表课程的编号,课程名和任课教师。SC(SNO,CNO,SCO
14、RE)别离代表选课学生的学号和所选课号和成绩。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 ta
15、ble 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.别离利用关系代数和查询语句检索选修课
16、程号为c001的课程的学生的学号。select sno from sc where cno=c001;4.别离利用关系代数和查询检索至少选修张三教师所讲课程中一门课程的女生姓名。select Sname from s,c,scwhere = and = and =张三 and =女5.别离利用关系代数和查询检索所有男生的信息,要求有学生姓名,年龄和班级。select Sname,Sage,Class from Swhere Sex=男6.别离利用关系代数和查询检索选了课程名为“程序设计基础”的学生的学号、姓名,成绩。select ,sname,score from s,sc,cwhere =
17、and = 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(sc
18、ore),min(score)from scgroup by sno10.查询选了课程名为数据库或网络的学生的选课情形(要求有学号,课程号,分数)。select sno,score from sc,cwhere = 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
19、)13.成立查询显示至少选修了两门课程的学生学号。select sno from scgroup by snohaving count(cno)=214.查找通信工程专业平均成绩在85分以上的学生的学号和平均成绩。select ,avg(score) from s,scwhere = 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 sc
20、ore=score+5where score=x2 then set xs=x1; else set xs=x2; end if;end$delimiter ;call bijiao(5,6,tt) -挪用存储进程21.完成以下查询功能的SQL语句。 创建S表的一个名为XS_COPY1的拷贝。create table xs_copy1 like s 创建S表的一个名为XS_COPY2的拷贝,而且复制其内容。create table xs_copy2 as (select * from s) 找出至少选修了两门课程学生的学号。select sno from scgroup by snohavin
21、g count(cno)2 找出所有姓李的学生,并按其年龄由小到大排序。select * from swhere sname like 李%order by Sage ASC 找出性别为男,诞生年月在至之间的学生的大体信息。select * from swhere birthday= and birthday5023.创建一个视图,要求显示选修课程名为数据库的学生的学号、姓名、课程号、课程名和分数。create view vw_kcasselect ,sname,cname,score from s,c,scwhere = and = andcname=数据库24.创建一个视图,包括学生的学号
22、,姓名,课程号,课程名,分数。create view vw_sscasselect ,sname,cname,score from s,c,scwhere = and =25.创建一个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 af
23、ter deleteon s for each rowbegin delete from sc where sno=;end$delimiter ;32.利用T-SQL在关系C上创建更改触发器DU,当更改C上的某一课程的编号时,在SC表上的对应课程编号也将被更改。delimiter $create trigger DU after updateon c for each rowbegin update sc set cno= where cno=;end$delimiter ;33.假设在本地效劳器下,用户名为root,密码为123456,备份STUDENT数据库到D盘FILE文件夹下(存储在
24、文件中),然后删除STUDENT,最后利用文件还原STUDENT。34.假设用户在礼拜一下午1点利用mysqldump工具进行数据库STUDENT的完全备份,备份文件为。从礼拜一下午1点开始用户启用日记,文件保留了从礼拜一下午1点到礼拜二下午1点的所有更改,在礼拜二下午1点运行一条SQL语句:FLUSH LOGS;现在创建了文件,在礼拜三下午1点时数据库崩溃。现要将数据库恢复到礼拜三下午1点时的状态,请按顺序写出要执行的命令。(用户名为root,密码为123456)35.创建一个60秒后启动的事件,将选课表中分数小于60分的记录删除。create event edelon schedule at now()+interval 10 seconddodelete from sc where score60;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1