1、(单选题)试图用下面句子查询数据:SELECT 100/NVL(quantity, 0) FROM inventory; 为何 QUANTITY 为 null 空值时,将导致出错( )
A.表达式企图被空值除
B.换函数参数数据类型不一致
C.空值不能被转成实际值
D.表达式企图被零除
【正确答案】D
【答案解析】nvl(表达式1,表达式2)这个函数的作用是如果表达式1的值为null,那么取表达式2的值。
1、下面选项的MySQL数据库url正确的是哪个?()
A.jdbc:mysql://localhost/db3
B.jdbc:mysql://localhost:3306:db3
C.jdbc:mysql://localhost:3306/db3
D.jdbc:mysql://localhost/3306/db3
【正确答案】C
【答案解析】
2、(单选题)下面关于数据库事务的描述错误的是( )
A.原子性是事务具备的一个重要特性
B.Connection对象setAutoCommit(boolean b) 方法默认设置为true
C.事务回滚会回滚这次事务中的所有修改操作,并释放当前连接所持有的数据库锁
D.事务的三大特性分别是:原子性、隔离性、一致性
【正确答案】D
【答案解析】事务有四大特性 分别是:原子性、隔离性、一致性、持久性
3、下面的描述错误的是( )
A.Statement的executeQuery()方法会返回一个结果集
B.Statement的executeUpdate()方法会返回是否更新成功的boolean值
C.Statement的execute ()方法会返回boolean值 ,含义是是否返回结果集
D.Statement的executeUpdate()方法会返回值是int类型,含义是DML操作
【正确答案】B
【答案解析】executeUpdate()方法会返回int类型,表示有多少条数据受到了影响。
5、(单选题)下面的代码用于实现对emp表的分页查询(Oracle),在每页10行的前提下查询第8页的语句是( )
A.String sql = “select ename,sal from emp where limit ?,?”; PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1,107+1+10); stmt.setInt(2,107+1); stmt.executeQuery();
B.String sql = “select ename,sal from emp limit ?,?”; PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1,107+1+10); stmt.setInt(2,107+1); stmt.executeQuery();
C.String sql = “select ename, sal from emp (select ename, sal, rownum n from emp where rownum>=?) where n<?”; PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1,107+1); stmt.setInt(2,107+1+10); stmt.executeQuery();
D.String sql = “select ename, sal from (select ename, sal, rownum n from emp where rownum<?) where n>=?”; PreparedStatement stmt = con.prepareStatement(sql); stmt.setInt(1,107+1+10); stmt.setInt(2,107+1); stmt.executeQuery();
【正确答案】D
【答案解析】oracle中没有limit,mysql中分页才使用limit。 oracle中通过rownum分页需要先在子查询中查询小于满足条件的最后一条数据的所有记录,当子查询结果集确定后,再过滤出大于满足条件的起始第一条数据的所有记录。
7、使用Connection 的哪个方法可以建立一个PreparedStatement接口?
A.