JDBCjava测试题

JDBCjava测试题
JDBCjava测试题

JDBC(oracle)考试试卷

考题总分:100分制考试时间:一个小时

一、选择题,20题共60分(每小题3分多选不给分)

1工资加上奖金是月薪水,下列Sql语句计算出来的每月工资是否准确( A)

select ename , salary , bonus , salary+bonus month_sal from emp ;

A.不准确,bonus列数据可能存在null值, null值和任何数据做算数运算 , 结果都是null

B.准确,oracle会自动把数字类型的null值在做运输的时候转换成0

C.准确,oracle忽略null值,不计入运算

D.不准确,Sql语句中月薪的算法公式错误。

2插入数据时关于字符数据和数字数据的处理说法正确的是( A)

A.字符数据要用单引号引起来,数字数据不用

B.字符数据和数字数据都需要单引号引起来

C.字符数据要用双引号引起来,数字数据不用

D.字符数据和数字数据都需要双引号引起来

3下列属于数据操作语言的是 (A,B )

4设置每页显示20行的Sql Plus命令是 (A D)

pagesize 20

page 20

size 20

pages 20

5查询当前帐户下有多少个表的sql语句是 (A )

count(*) from user_tables ;

count(*) from tables ;

count(*) from users ;

count(*) from user_name_tables ;

6 Sql语句select round,0),trunc from dual;执行后, round,0)和trunc的结果分别是 ( B)

,45

,45

,46.

,46

7、在oracle中,下列函数中能把字符类型数据转换成日期类型数据的函数是

(D )

()

()

()

()

8按emp表ename升序排列,下列sql语句正确的是 (AD )

ename , salary from emp

order by ename asc ;

ename , salary from emp

order by ename desc ;

ename , salary from emp

order by salary asc ;

ename , salary from emp

order by ename ;

9下列说法正确的是: ( AC)

A.一个表只允许一个主键

B. 一个表可以有多个主键

C.数据库会为主键自动创建对应的唯一索引

D.主键只表示该字段不允许为空

10 delect 和truncate 都可以用来删除表内容,一下描述正确的是 (AB )

A.Truncate 不需要 commit

B.Delete 需要commit

C.Truncate在提交commit之前仍可回滚

D.Truncate还可以删除表结构

11.EMPLOYEES表的结构如下:

EMPLOYEE_ID NUMBER Primary Key

FIRST_NAME VARCHAR2(25)

LAST_NAME VARCHAR2(25)

下面选项中可以向该表中插入一行数据的是 ( AC)

A.INSERT INTO employees(employee_id) VALUES (1000);

B.INSERT INTO employees (first_name,last_name) VALUES (‘John','Smith');

C.INSERT INTO employees VALUES(1000,'John','NULL');

D.INSERT INTO employees VALUES (‘1000','John');

12.下列属于java语言的接口是 ( ABC)

A Statement

B Collection

C ResultSet

D DriverManager

13. 下面的描述错误的是 ( B)

A. Statement的executeQuery()方法会返回一个结果集

B. Statement的executeUpdate()方法会返回是否更新成功的boolean值

C. 使用ResultSet中的getString()可以获得一个对应于数据库中char类型的值

D. ResultSet中的next()方法会使结果集中的下一行成为当前行

14.包含事务控制方法setAutoCommit, commit, rollback的是 (A)

A. Connection

B. Statement

C. ResultSet

D. DriverManager

15. 在JDBC编程中执行完下列SQL语句: SELECT name, rank, serialNo FROM employee.,能得到rs的第一列数据的代码是(BC )

A. (0);

B. (

ame);

C. (1);

D. (“ename”);

16.下面关于PreparedStatement的说法错误的是 ( C)

A. PreparedStatement继承了Statement

B. PreparedStatement可以有效的防止SQL注入

C. PreparedStatement不能用于批量更新的操作

D. PreparedStatement可以存储预编译的Statement,从而提升执行效率

17.表 CLASSES 和表 SCHEDULE 结构如下: (A)

CLASSES:

ID NUMBER(9)

CLASS_NAME VARCHAR2(20)

TEACHER_ID NUMBER(9)

SCHEDULE:

CLASS_TIME DATE

CLASS_ID NUMBER(9)

你建一个视图显示每一课的课名、课时,并按教师ID排序

判断下面语句将返回何种结果

CREATE VIEW class_schedule AS

SELECT as “Name”,

FROM classes c, schedule s

WHERE = ORDER BY teacher_id;

A. 语句创建视图 CLASS_SCHEDULE 且可产生预期结果.

B.“Name”别名有语法错误

C. 语法错误,因为视图不可基于连接查询.

D. 语法错误,因为视图不可包含 ORDER BY 子句.

18.SQL语言中修改表结构的命令是( C)

TABLE

STRUCTURE

TABLE

STRUCTURE

19.下列属于DML语句的是 (BC )

20.从“员工”表的“姓名”字段中找出名字包含“玛丽”的人,哪条select

语句正确:) (D

_'姓名员工 where ='_玛丽 * from'_姓名 ='%玛丽 * from员工 where ' like‘_玛丽% * from员工 where 姓名%玛丽%' where * from

员工姓名 like‘

二、简答题(5+5=10分)1 简述哪些列适合建索引(5)

(5)2写出Oracle数据库语言的分类

三、代码题(12+18=30分) (1)varchar2(20);,创建表employee,字段如下表所示字段统一定义为ID 为主键 ID FIRST_NAME LAST_NAME MGRID SALARY1 rose Tyler 4 1500

2 Matha Jones 4 2200

3 Donna Noble

4 1300

4 Doctor Who 5500

5 Jack Harkness 1 3500

1, 创建该表,并向表中插入下列数据并提交,查询数据;

2, 将3号员工的last_name修改”Tate”,并提交,查询数据

3, 将所有工资少于2000的员工的工资修改为2000(不提交), 查询数据

4, 删除employee表中所有数据(不提交),查询数据;

(2)有如下一张表,请完成一个相对完整的jdbc的注册登录流程。建议分层:util,entity,dao,service层

create table t_user (

uid number(6) primary key,

username varchar(20) not null,

password varchar(20) not null

);

相关主题
相关文档
最新文档