好文档 - 专业文书写作范文服务资料分享网站

Oracle数据库管理习题及答案

天下 分享 时间: 加入收藏 我要投稿 点赞

参考答案:WHERE、GROUP

3.在SELECT语句中,分组条件的子句是___________,对显示的数据进行排序的子句是___________。

参考答案:GROUP BY、ORDER BY

4.在DML语句中,INSERT语句可以实现插入记录,___________语句可以实现更新记录,___________语句和___________语句可以实现删除记录。

参考答案:UPDATE、DELETE、TURNCATE

5.___________函数可以返回某个数值的ASCII值,___________函数可以返回某个ASCII值对应的十进制数。

参考答案:ASCII、CHR 6.使用___________函数,可以把数字或日期类型的数据转换成字符串;使用TO_DATE函数,可以把___________转换成___________,默认的日期格式为___________。

参考答案:TO_CHAR、字符串、日期型、yyyy-MM-dd HH:mm:ss 二、选择题

1.查询scott用户的emp表中的总记录数,可以使用下列哪个语句?( )

A.SELECT MAX(empno) FROM scott.emp; B.SELECT COUNT(empno) FROM scott.emp; C.SELECT COUNT(comm) FROM scott.emp; D.SELECT COUNT(*) FROM scott.emp; 参考答案:D

2.为了去除结果集中的重复行,可以在SELECT中使用下列哪个关键字?( )

A.ALL B.DISTINCT C.UPDATA D.MERGE 参考答案:B

3.在SELECT语句中,HAVING子句的作用是( )

A.查询结果的分组条件 B.组的筛选条件 C.限定返回的行的判断条件 D.对结果集进行排序 参考答案:B

4.下列哪个聚合函数可以把一个列中的所有值相加求和?( )

A.MAX函数 B.MIN函数 C.COUNT函数 D.SUM函数 参考答案:A

5.如果要统计表中有多少行记录,应该使用下列哪个聚合函数?( )

A.SUM函数 B.AVG函数 C.COUNT函数 D.MAX函数 参考答案:C 三、简答题

1.标准SQL语言的语句类型可以分为哪三大类,每种语句类型分别用来操纵哪些语句?

参考答案:数据操纵语言(DML):用来操纵数据库中数据的命令。包括:select、insert、update、delete。

数据定义语言(DDL):用来建立数据库、数据库对象和定义列的命令。包括:create、alter、drop。

数据控制语言(DCL):用来控制数据库组件的存取许可、权限等的命令。包括:grant、deny、revoke。

2.列举几个在WHERE条件中可以使用的操作符。

参考答案:使用 = 、>、>= 、<、<= 、<>符号和 BETWEEN 。。。AND 。。。、IN(set)、LIKE、IS NULL 。

3.如果要按照降序对数据进行排序,应该在ORDER BY子句中使用哪个关键字? 参考答案:DESC

4.下面这个SELECT语句能否输出查询结果?如果不能,该如何修改?

SELECT empno , ename , deptno , COUNT (*) FROM scott .emp GROUP BY deptno 参考答案:不能。

SELECT deptno , COUNT (*) FROM scott .emp GROUP BY deptno

5.指定一个日期值,例如08-8月-2008,获得这个日期与系统当前日期之间相隔的月份数和天数。

参考答案:select months_between('08-8月-2008', sysdate) mon_betw from dual;

5.8 习题

一、填空题

1.按照约束的用途,主要可以将表的完整性约束分为NOT NULL约束、___________、___________、___________和___________。

参考答案:Check、Unique Index、Primary key、Foreign key

2.使用___________关键字,可以快速删除表中的所有记录,并且不在撤消表空间中记录撤消数据。

参考答案:TRUNCATE

3.___________约束用于定义列中不能出现NULL值,___________约束用于定义列中不能出现重复值,而PRIMARY KEY约束则可以定义列中既不允许出现NULL值,也不允许出现重复值。

参考答案:NOT NULL、UNIQUE 二、选择题

1.存储数据123.45,可以使用下面哪种数据类型?( ) A.NUMBER B.NUMBER(5) C.NUMBER(5,3) D.NUMBER(5,2) 参考答案:D

2.如果某列定义了UNIQUE约束,则( ) A.该列不允许出现重复值。 B.该列不允许出现NULL值。 C.该列內允许出现一个NULL值。 D.该列允许出现多个NULL值。 参考答案:A

3.为列定义一个CHECK约束,希望该约束能对表中已存储的数据,以及以后向表中添加或修改的数据都进行检查,则应该将该约束设置为如下哪种状态?( )

A.ENABLE VALIDATE B.ENABLE NOVALIDATE C.DISABLE VALIDATE D.DISABLE NOVALIDATE 参考答案:A

4.使用如下语句创建一个临时表空间temp: CREAT _________ TABLESPACE temp

_________‘F:\\oraclefole\\temp.dbf’ SIZE 10M

AUTOEXTENT ON NEXT 2M

MAXSIZE 20M;

请从下列选项中选择正确的关键字补充上面的语句。( ) A.(不填)、DATAFILE B.TEMP、TEMPFILE C.TEMPORARY、TEMPFILE D.TEMP、DATAFILE

参考答案:C

5.下列关于约束与索引的说法中哪一项是不正确的?( ) A.在字段上定义PRIMARY KEY约束时会自动创建B树惟一索引 B.在字段上定义UNIQUE约束时会自动创建B树惟一索引

C.在默认的情况下,禁用约束会删除对应的索引,而激活约束会自动重建相应的 索引

D.在定义FOREIGN KEY 约束时会创建B树唯一索引 参考答案:D 三、简答题

1.比较VARCHAR2与CHAR两种数据类型的区别,并举例说明分别在什么情况下使用这两种数据类型。

参考答案:CHAR的长度是固定的,VARCHAR2的长度是可以变化的,存储字符串“ABC\,对于CHAR (10),表示存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些。

2.创建一个表后,为表中的某列添加CHECK约束,并分别设置该约束的状态为4种不同的状态,比较这4种状态下的约束检查效果。

参考答案:略

3.建立一个学生表,表结构如下stu_info ( stuid number,name varchar(20),age number (2),sex char(2),birthday date)

(1)在数据库中建立stu_info表。 (2)添加主键约束(stuid) (3)添加 check约束(插入的年龄必须大于19岁)

(4)添加 非空约束 (要求姓名不能为空值)

(5)给上面的表添加 唯一约束(要求姓名不可重复) 参考答案:

(1) create table stu_info(

stuid number, name varchar(20), age number(2), sex char(2), birthday date);

(2) ALTER TABLE stu_info

ADD CONSTRAINT stu_info _pk PRIMARY KEY (stuid); (3) ALTER TABLE stu_info

ADD CONSTRAINT age_checkcheck(age>19); (4) alter table stu_info modify name not null; (5) ALTER TABLE stu_info

ADD CONSTRAINT name_uniunique(name);

6.8 习题

一、填空题

1.为了保证在SQL>方式下进行INSERT、DELETE和UPDATE操作达到安全的目的,一般在SQL>下进行操作前,建议将环境设置成为非自动提交的方式,采用的命令是_______,若想取消操作,采取的命令是_______。

参考答案:set autocommit off、rollback

2.对某步操作设置相应保存点的命令是_______,当根据需要用命令_______来实现撤消到这一步。

参考答案:SAVEPOINT、ROLLBACK TO

3.关系数据库中比较常用的SQL中,采用命令_______进行插入,采用_______来进行数据更新,而同时具有更新和插入功能的命令式_______。

参考答案:INSERT、UPDATA、MERGE 二、选择题

1.PL/SQL块中不能直接使用的SQL命令是()。

A.SELECT B.INSERT C.UPDATE D.DROP 参考答案:D

2.以零作除数时会引发()异常。 A.VALUE_ERROR B.ZERO_DIVIDE C.STORAGE_ERROR D.SELF_IS_NULL 参考答案:B

3.要更新游标结果集中的当前行,应使用()子句。 A.WHERE CURRENT OF B.FOR UPDATE C.FOR DELETE D.FOR MODIFY 参考答案:A

4.下面不是常用的数据对象权限的是() A.DELETE B.REVOKE C.INSERT D.UPDATE 参考答案:B

5.用于修改表中数据的语句是() A.EDIT B.MODIFY C.UPDATE D.ALTER 参考答案:D

6.在只读表空间上可以执行以下哪些操作?() A.CREATE TABLE B.ALTER TABLE C.DROP TABLE D.INSERT 参考答案: C 三、简答题

1.简述DETELE操作与TRUNCATE操作的异同。

参考答案:truncate,可以删除表中的所有记录,释放表空间,只保留表结构。

delete,如果没有where条件,也是删除表中的所有记录,但是它不释放空间。

TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。RUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。

2.已有表文件teacher(教师代码(C),姓名(C),学院(C),职称(C),年龄(N)),

按照要求写出SQL语句。

1.查询职称为\副教授\的教师代码,姓名,学院,职称信息; 2.查询学院为“电信学院”并且职称为“讲师”的所有教师的信息,并将查询结果按年龄字段的降序排序。

3.将所有教师的年龄加1;

4.将表中年龄小于15岁的教师记录加上删除标记; 参考答案:(1)select 教师代码,姓名,学院。职称 from teacher where 职称=’副教授’; (2)select * from teacher where 学院=’电信学院’ and 职称=’讲师’ order by 年龄 desc; (3)update teacher set 年龄=年龄+1; (4) delete from teacher where 年龄<15

3.有一个表T,有两个字段a,b,我们想在表T中做Insert/Update,如果存在,则更新T中b的值,如果不存在,则插入一条记录。假设待Insert/Update的记录为(a=’001’,b=100)。

请使用MERGE命令完成。 参考答案:

MERGE INTO T T1

USING (SELECT '1001' AS a,2 AS b FROM dual) T2 ON ( T1.a=T2.a)

WHEN MATCHED THEN UPDATE SET T1.b = T2.b

WHEN NOT MATCHED THEN INSERT (a,b) VALUES(T2.a,T2.b);

7.5习题

一.填空题 1.创建视图的命令是_______。若要保证插入或修改的数据行必须满足视图定义的约束,创建时附带的参数是_______;若要保证视图上不能进行任何DML操作,创建时附带的参数是_______。

参考答案:CREATE VIEW、WITH CHECK OPTION、WITH READ ONLY

2.创建序列的命令是_______。若要使序列的增量为5,创建时附带的参数是_______;若要使序列开始值为10,创建时附带的参数是_______。

参考答案:CREATE SEQUENCE、INCREMENT BY 5、START WITH 10

3.视图中的列并不都支持DML操作,通过数据字典___________可以了解视图中哪些列是可更新的。

参考答案:user_updatable_columns

4.使用___________可以获取序列的当前值,使用___________可以获取下一个值。 参考答案:currval、nextval

Oracle数据库管理习题及答案

参考答案:WHERE、GROUP3.在SELECT语句中,分组条件的子句是___________,对显示的数据进行排序的子句是___________。参考答案:GROUPBY、ORDERBY4.在DML语句中,INSERT语句可以实现插入记录,___________语句可以实现更新记录,___________语句和_____
推荐度:
点击下载文档文档为doc格式
88dq56w6cf9uewu2s0h44x67j2pwcn01ecz
领取福利

微信扫码领取福利

微信扫码分享