1. 下面关于PreparedStatement说法错误的是:()。
A. PreparedStatement是Statement的子接口。
B. 使用PreparedStatement预编译SQL可以有效的防止SQL注射。
C. PreparedStatement具有批处理执行SQL的功能。
D. PreparedStatement的setXXX方法可以用于设置预留的表名、字段名等参数。
2. 下面关于序列的描述不正确的是:()
A. 序列和表一样,都是Oracle数据库中的对象
B. 序列产生的值,可以作为表的主键值
C. 在序列的使用中,最好的方式是多个表可以共用一个序列,来减少Oracle数据库序列的数量
D. MySql数据不支持序列
3. 下列方法中用于定义线程的执行体的是:
A. start()
B. init()
C. run()
D. synchronized()
4. 现有如下建表SQL语句: CREATE TABLE departments ( department_id NUMBER(4) PRIMARY KEY, department_name VARCHAR2(20), city VARCHAR2(20), province VARCHAR2(20) ) 下面插入语句正确的是:( )。
A. INSERT INTO departments VALUES(300,’abc’);
B. INSERT INTO departments(department_name,department_id) VALUES(300,’design’);
C. INSERT INTO departments(department_name,city) VALUES(‘design’,’bj’);
D. INSERT INTO departments VALUES(300,’abc’,null,null);
5. 下列代码的运行结果是()。 public class TestOne implements Runnable { public static void mai
n(String[] args) throws Exception { Thread t = new Thread(new TestOne()); t.start(); System.out.print("Started"); t.join(); System.out.print("Complete"); } public void run() { for (int i = 0; i < 4; i++) { System.out.print(i); } } }
A. StartedComplete
B. StartedComplete0123
C. Started0l23Complete
D. 0123StartedComplete
6. 分析如下代码,语法正确的Sql语句是()。
A. SELECT class,COUNT(stuId) FROM students WHERE stuAge>18 GROUP BY class HAVING count(stuId)>3
B. SELECT name,class,COUNT(stuId) FROM students WHERE stuAge>18 GROUP BY class HAVING count(stuId)>3
C. SELECT class,COUNT(stuId) FROM students GROUP BY class HAVING stuAge>18
D. SELECT name,class,COUNT(stuId) FROM students WHERE COUNT(stuId)>3 GROUP BY class
7. 下列Oracle语句中,属于DCL的有()
A. GRANT
B. DESC
C. CONNECT
D. INSERT
8. 下面是SqlPlus命令的是:()。
A. DESC
B. ALTER
C. SELECT
D. DELETE
9. 有关流描述错误的是:
A. InputStream,OutputStream, Reader, Writer 是四个抽象类
B. FileInputStream,FileOutputStream是文件读写中的字节流,不能读写汉字
C. FileReader, FileWriter 是文件读写中的字符流,能读写英文字母
D. BufferedReader 是字符缓冲流,能一次读一行,速度更快。
正确答案:B
10. 在Java中,在尝试对null 对象操作时,会产生的异常类型是:
A. ArithmeticException
B. NullPointerException
C. IOException
D. EOFExcep
tion
正确答案:B
11. 在JDBC连接数据库编程应用开发中,可以实现数据库连接的是()。
A. Connection接口
B. PreparedStatement类
C. CallableStatement类
D. Statement类
12. 在oracle中,判断一条记录的某个列是否为NULL,应该使用:( )。
A. !=
B. <>
C. IS
D. =
13. 下列异常类是RuntimeException的子类的是:()。
A. ArrayIndexOutOfBoundsException
B. Exception
C. FileNotFoundException
D. IOException
14. 有一个数据表usernfo,包含userid,username 字段,其中userid是唯一的,username可能重复,请写一句sql查询语句,把重复的记录全部取出来。
userid username
1 老王
2 老王
3 老李
4 老李
5 小张 要求返回记录集如下:
userid username
1 老王
2 老王
3 老李
4 老李 下列Sql语句正确的是:( )。
A. SELECT * FROM userinfo WHERE username IN (SELECT username FROM userinfo GROUP BY username)
B. SELECT * FROM userinfo WHERE username IN (SELECT DISTINCT username FROM userinfo)
C. SELECT * FROM userinfo WHERE username IN (SELECT username FROM userinfo GROUP BY username WHERE COUNT(username)>1);
D. SELECT * FROM userinfo WHERE username IN (SELECT username FROM userinfo GROUP BY username HAVING COUNT(username)>1);
15. JDBC的Connection接口不包含的方法是()。
A. createStatement()
B. prepareStatement(String sql)
C. createPrepareStatement(String sql)
D. commit()
16. 包含事务控制方法setAutoCommit, commit, rollback的是:() 。
A. Connection
B. Statement
C. ResultSet
D. DriverManager
17. 在Oracle中,现有Student表,其中包括学号stuId,姓名stuName,成绩stuGrade,现要查询成绩为80分的学生姓名,并且结果按照学号降序排列,下面查询语句正确的是()。
A. SELECT stuName FROM student WHERE stuGrade=80 ORDER BY stuId
B. SELECT stuName FROM student WHERE stuGrade=80 ORDER BY stuId DESC
C. SELECT stuName FROM student WHERE stuGrade like 80 GROUP BY stuId
D. SELECT stuName FROM student WHERE stuGrade=80 GROUP BY stuId DESC
18. 在JDBC中使用事务,想要回滚事务的方法是 ( )。
A. Connection的commit()
B. Connection的setAutoCommit()
C. Connection的rollback()
D. Connection的close()
19. 下列属于DML语句的是 :() 。
A. COMMIT
B. INSERT
C. DROP
D. GRANT
20. 下列代码运行的结果是:
public class TestTwo implements Runnable {
public static void main(String[] args) throws Exception {
Thread t = new Thread(new TestTwo());
t.start();
System.out.print("Started");
t.join();
System.out.print("Complete");
}
public void run() {
for (int i = 0; i < 4; i++) {
System.out.print(i);
}
}
}
A. StartedComplete
B. StartedComplete0123
C. Started0123Complete
D. 0l23StartedComplete
21. 在Oracle中,给Student表添加Address列,如下代码正确的是()。
A. ALTER TABLE student ADD COLUMN(address VARCHAR2(20))
B. UPDATE TABLE student ADD COLUMN(address VARCHAR2(20))
C. UPDATE TABLE student ADD(address VARCHAR2(20))
D. ALTER TABLE student ADD(address VARCHAR2(20))
22. 操作cost表,若一个月使用了200小时,计算每种资费标准对应的最终费用是多少(考虑单位费用和基础费用为null的情况,最终费用=固定费用+超时部分×单位费用),下列sql语句正确的是:
A. select id,
nvl(base_cost,0) + (200 - nvl(base_duration,0)) * nvl(unit_cost,0) fee
from cost;
B. select id,nvl(base_cost,0) fee from cost;
C. select id,200*nvl(unit_cost,0) fee from cost;
D. select id, base_cost + (200 - base_duration)*unit_cost fee from cost;
23. Oracle中查询的时候可以去掉重复记录的是()
A. SELECT DISTINCT name FROM user
B. SELECT name DISTINCT FROM user
C. SELECT name FROM user
D. SELECT name FROM user LIMIT 1
24. 下列代码的运行结果是()。 public class Forest implements Serializable { private Tree tree = new Tree(); public static void main(String[] args) { Forest f = new Forest(); try { FileOutputStream fs = new FileOutputStream("Forest.ser"); ObjectOutputStream os = new ObjectOutputStream(fs); os.writeObject(f); os.close(); } catch (Exception ex) { ex.printStackTrace(); } } } class Tree {}
A. 编译失败
B. 运行时,抛出异常
C. Forest的实例被序列化到文件
D. Forest的实例和Tree的实例都被序列化到文件
25. 阅读下面程序段:
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("file.dat"));
bos.write(100);
假设file.dat不存在,运行该程序段后,文件file.dat的字节数为:
A. 0
B. 1
C. 2
D. 3
26. 如果查询表a(有3行数据)和表b(有4行数据),使用SELECT * FROM a,b,返回的查询结果的行数是:()。
A. 7
B. 1
C. 0
D. 12
27. 下列Oracle语句中,可以实现更新记录的是()。
A. UPDATE 数据表 SET 字段名称=值,… [WHERE 条件] [GROUP BY 字段名称]
B. UPDATE 数据表,数据表,… SET 字段名称=值,… WHERE 条件
C. UPDATE 数据表 SET 字段名称=值,… [WHERE 条件]
D. UPDATE 数据表 Set 字段名称=值,… [WHERE 条件] [ORDER BY 字段名称]
28. 查询tarena23和tarena20上的远程登录业务使用了哪些相同的资费标准,下列sql语句正确的是:
A. select cost_id from service
where unix_host = '192.168.0.20'
intersect
select cost_id from service
where unix_host = '192.168.0.23';
B. select cost_id from service
where unix_host = '192.168.0.20'
union
select cost_id from service
where unix_host = '192.168.0.23';
C. select cost_id from service
where unix_host = '192.168.0.20'
union
go和java后端开发劣势all
select cost_id from service
where unix_host = '192.168.0.23';
D. select cost_id from service
where unix_host = '192.168.0.20'
minus
select cost_id from service
where unix_host = '192.168.0.23';
29. 下列说法正确的是()
A. InputStream 是字符流
B. Reader 是字节流
C. Writer 是字节流
D. BufferedReader可以从文件中读取一行
30. 以下选项中可以用来从表 state中删除列 update_dt 的是( )。
A. ALTER TABLE state DROP COLUMN update_dt;
B. ALTER TABLE state DELETE COLUMN update_dt;
C. DROP COLUMN update_dt FROM state;
D. REMOVE COLUMN update_dt FROM state;
31. 请看下列代码:
public class TestFive {
private int x;
public void foo() {
int current = x;
x = current + 1;
}
public void go() {
for (int i = 0; i < 5; i++) {
new Thread() {
public void run() {
foo();
System.out.print(x + ", ");
}
}.start();
}
}
public static void main(String[] args) {
new TestFive().go();
}
}
为了确保输出结果是“1,2,3,4,5, ”,需要变化的两项内容是:
A. 移动代码“ System.out.print(x + ", ");”行进入foo方法,放置在“x = current + 1;”行下面
B. 改变go方法的声明为:public synchronized void go()
C. 改变x的变量声明为:private static int x;
D. 把foo方法中的所有代码,使用synchronized( this )块括起来
32. 下列异常类中,属于RuntimeException的子类的是:()。
A. ArrayIndexOutOfBoundsException
B. NullPointerException
C. NumberFormatException
D. ClassNotFoundException
33. 下列语句在建表的同时在c2,c3列上创建了唯一约束,其中正确的是:
A. create table test
(c1 number constraint test_c1_pk
primary key,
c2 number constraint test_c2_uk
foreign key,
c3 number constraint test_c3_uk
foreign key);
B. create table test
(c1 number constraint test_c1_pk
primary key,
c2 number ,
c3 number ,
constraint test_c3_uk foreign key(c2,c3));
C. create table test
(c1 number constraint test_c1_pk
primary key,
c2 number ,
c3 number ,
constraint test_c3_uk unique(c2,c3));
D. create table test
(c1 number constraint test_c1_pk
primary key,
c2 number constraint test_c2_uk
unique,
c3 number constraint test_c3_uk
unique);
34. 操作account表和service表,查询申请远程登录业务的客户的数据,下列sql语句正确的是:
A. select real_name from account
where in (select account_id from service);
B. select real_name from account o
where id exists
(select 1 from service i
where o.id = i.account_id);
C. select real_name from account
where id in (select account_id from service);
D. select real_name from account o
where exists
(select 1 from service i
where o.id = i.account_id);
35. 请看下列建表语句:
create table test
(c1 number(3) constraint test_c1_pk primary key,
c2 number(2) ,
c3 number(2) ,
constraint test_c2_ck check (( c2 + c3 ) > 100 )
);
下列选项中能向test表中成功实施插入数据的插入语句是:
A. insert into test values (1,40,60);
B. insert into test values (2,41,61);
C. insert into test values (3,101,1);
D. insert into test values (4,50,51);
36. EmpDaoImpl类的findAllEmp方法用于实现从员工表(emp)和部门表(dept)中查询所有员工的empno,ename,sal,deptno和dname信息。dept表和emp表的表结构如下: 部门表:dept
字段名 数据类型 约束
deptno number(4) primary key
dname varchar2(20) not null 员工表:emp
字段名 数据类型 约束
empno number(4) primary key
deptno number(4) foreign key
ename varchar2(20)
sal number(8,2) 程序代码如下所示: public class Emp { private Integer empNo; private String empName; private BigDecimal salary; private Dept dept; //省略getter和setter } public class Dept { private Integer deptNo; private String deptName; //省略getter和setter } public class EmpDaoImpl implements EmpDao { private static final String SQL_FIND_ALL_EMP = " 空白处1 "; public List<Emp> findAllEmp() throws Exception { Connection con = null; PreparedStatement stmt = null; try { con = Connection();//获取数据库连接 stmt = con.prepareStatement(SQL_FIND_ALL_EMP); 空白处2 List<Emp> list = new ArrayList<Emp>(); 空白处3 while (rs.next()) { Emp emp = new Emp(); emp.Int(1)); emp.String(2)); emp.BigDecimal(3)); int deptNo = rs.getInt(4); Dept dept = null; if ( 空白处4 ) { dept = (deptNo); } else { dept = new Dept(); dept.setDeptNo(deptNo); dept.String(5)); depts.put(deptNo, dept); } 空白处5 list.add(emp); } return list; } catch (SQLException e) { e.printStackTrace(); throw e; } fi
nally { //释放资源 if (stmt != null) stmt.close(); if (con != null) con.close(); } }
(1). 下列选项中,能填入空白处1的代码是( )
A. ame,e.sal, d.dname from emp e join dept d on e.deptno=d.deptno
B. ame,e.sal, d.dname from emp e join dept d where e.deptno=d.deptno
C. ame,e.sal, d.dname from emp e join dept d and e.deptno=d.deptno
D. ame,e.sal, d.dnam
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论