oracle复习题剖析

一、选择题

1. Oracle数据表中,下面哪个可以作为有效的列名( A )(选择一项) A. class B. 123_NUM C. date D. #123_NUM

2. Oracle中的三种系统文件分别是( ABC )〔选择三项〕 A. 数据文件 DBF B. 控制文件 CTL C. 日志文件 LOG D. 归档文件 ARC

3. 下面哪个命令可以用来查看学生表(表名student)的表结构( C )〔选择一项〕

A. Select student ; B. Display student ; C. Describe student ; D. Show student ;。

4. 下面哪个命令不属于数据定义语言(DDL)( D )(选择一项) A. alter table… B、drop index… C、 create view… D、update tablename…

5. 在设计数据库时,要充分考虑数据的完整性或准确性。下面关于primary key和unique的描述错误的是( )〔选择一项)

A. primary key用来在表中设置主键,主键列的值是不能重复的,用来唯一标识表中的每一条记录

B. 设为unique的列的值是不能重复的,用来唯一区别unique列的值 C. primary key列不可以有null值, 而unique列是可以有null的 D. primary key列和unique列都不可以有null值

6. 假定有一张表员工表employee,其中一性别字段sex,该列只能存入'男'或'女'。为了维护数据的完整性,在设计数据库时,最好对sex字段添加约束,请问应该添加什么约束( B )(选择一项)

A. primary key B、check C、default D、unique 7. 为表TEST中ID列添加主键约束的语法是( D )〔选择一项〕 A. ALTER TABLE TEST CHANGE( ID INT PRIMARY KEY) B. ALTER TABLE TEST ADD( ID INT PRIMARY KEY)

C. ALTER TABLE TEST MODIFY( ID INT PRIMARY KEY) D. ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY (ID) 8. 如果表DEPT包含3条记录,现在用如下命令对其进行修改, ALTER TABLE DEPT ADD(COMP NUMBER(4) NOT NULL); 请问下面哪一个说法是正确的?( D )(选择一项) A. 该语句在表的最前面插入一个非空列 B. 该语句在表的最后插入一个非空列

C. 该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效 D. 该语句将产生错误

9. 关于聚合行数描述错误的是( B )〔选择一项) A. avg(), sum() 只能用于数值类型的字段上 B. max() , min() 只能用于数值类型的字段上

C. max() , min() 可以用于数值类型 或 日期类型 或 字符串类型的字段上

D. count()可以用于任何类型的字段上

10.删除emp表中所有数据,且无法rollback,以下语句哪个命令可以实现(A )(选择一项)

A. truncate table emp B. drop table emp C. delete * from emp D. delete from emp

11.你发出命令: DROP TABLE emp;

此时你还没有明确发出COMMIT命令。你能用什么命令撤消上面的drop语句所做的操作?( D )〔选择一项〕

A. 关闭数据库

B. 发出一个ROLLBACK命令 C. 终断正在活动的会话

D. 什么命令都不可以,因为DDL语句不能被回滚

12.有Oracle表”cd”,它包含属性”cdcode”,”category”

和”cdname”,你要查询category取值为”CLASSIC”或”ROCK”的行,你采用语句( A )(选择两项)

A. SELECT * FROM cd WHERE category IN ('CLASSIC','ROCK'); B. SELECT * FROM cd WHERE category BETWEEN 'CLASSIC' AND 'ROCK'; C. SELECT * FROM cd WHERE category='CLASSIC' AND category='ROCK';

D. SELECT * FROM cd WHERE category='CLASSIC' OR category='ROCK' 13.更改oracle用户HR,使其变为不可用(锁定)状态( D )〔选择一项〕

A. UPDATE USER HR ACCOUNT DISABLE ; B. UPDATE USER HR ACCOUNT LOCK ; C. ALTER USER HR ACCOUNT DISABLE ; D. ALTER USER HR ACCOUNT LOCK ;

14.INSERT INTO TEST VALUES(‘&ID’, ’&NAME’); 语句在执行时将(D )〔选择一项〕

A. 编译错:提示变量未定义 B. 运行错:提示不能识别符号 C. 将值&ID和&NAME插入到表中

D. 提示用户输入ID和NAME的值,再将输入值插入表中

15.下面关于删除视图的说法哪一个是正确的( B )。(选择一项) A. 删除视图后应立即用COMMIT语句使更改生效 B. 删除视图后,和视图关联的表中的数据依然存在 C. 视图被删除后视图中的数据也将被删除 D. 用delete VIEW删除视图

16.若update emp set salary=1000 中缺少where 条件:( A )(选择一项)

A. 更改表中所有记录 B. 更改第一条记录 C. 记录未更改。

D. 提示错误:缺少where字句

19. 在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是( C )(选择一项)

A. select seq.ROWNUM from dual; B. select seq.ROWID from dual; C. select seq.CURRVAL from dual; D. select seq.NEXTVAL from dual;

20. 在Oracle中,有一个名为seq的序列对象,假定此时查看seq序列当前值显示为7,那么执行下面的sql

insert into stu(id, name) values(seq.NEXTVAL,'tom' );

很不幸,这个insert没有执行成功,随后马上执行rollback,问:此时查看seq序列当前值显示为(B )〔选择一项〕

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4