sql jdbc测试

SQL+JDBC测试试题

一、单选题(共25题,每题2分,合计50分)

1、给定下列代码:                           

在Java中,阅读如下代码,则编译运行后的输出结果是( )。

interface Face{

 int counter = 40;

}

public class Test implements Face {

 private static int counter;

 public static void main(String[] args) {

  System.out.println(++counter);

 }

}

A) 40  B) 41 C) 0 D) 1

2、main()方法的返回类型是?

A.int      B.void        C.Boolean       D.static   

3、运行下列程序,输出为何?( )

public class Qd803 {

  public static void main(String args[]) {

   String word = "restructure";

  System.out.println(word.substring(2, 3));

  }

}

A.est     B.es     C.str       D.s

4、代码System.out.println(""+11+1); 的输出结果是:( )

A.(空)    B.11    C.12      D.111

5、以下关于Object类说法错误的是(  )。

A) 一切类都继承自Object类 B) 接口亦继承Object类

C) Object类中定义了toString()方法 D) Object类在java.lang包中 

6、在Java中,以下程序编译运行后的输出结果是( )。

public class Test{

 public void add(int i) throws NullPointerException {

  if(i == 0)

   throw new NullPointerException();  //方法执行结束 ,并抛出异常

  System.out.println("add出现异常");

 }

 public static void main(String[] args) {

  Test t = new Test();

  try {

   t.add(0);//此处产生异常,则执行权转catch

   System.out.println("add方法返回");

  }catch(Exception e) {

   System.out.println("捕获异常");

  }

 }

}  

A) add出现异常

B) add出现异常

       add方法返回

C) add方法返回

       捕获异常

D) 捕获异常

7、 有一个类(class)如下:

class Test {

void test(int i) {

System.out.println(“I am an int.”);

}

void test(String s) {

System.out.println(“I am a string.”);

}                                                                 

public static void main(String args[]) {

Test t=new Test();

char ch='y';

t.test(ch);

}

}

针对上述Test类,运行结果为?( )

A.I am an int. B. I am a string.  

C.运行时错误 D.编译错误

8、若要写出一个能将一组键(Key)与一组值(Value)结合的类,下述所列的接口(interface),哪个是最适用的?( )

A.Map       B.Set        C.SortedSet             D.Collection

9、在Java中,尝试对null对象操作时,会产生( )类型的异常。

A) ArithmeticException B) NullPointerException

C) IOException D) ClassNotFoundException

10、给定如下Java程序的代码片段,在下划线处,加入(  )语句,可以使这段代码编译通过。

public void method1() throws IOException{}

public void method2()__________{

    method1();

}

A) throw IOException B) throws IOException

C) throw Exception D) throws RuntimeException

11、在Oracleo数据库中,根据id条件删除一条记录,下列哪条语句是对的()

A.delete * from Users where id = 1

B.delete from Users where id = 1

C.truncate Users where id = 1

D.drop Users where id = 1

12在MySQL数据库中,以下约束不能同时使用在表字段上的是()

A.PRIMARY KEY 和 UNIQUE B.UNIQUE 和 NOT NULL

C.NULL 和 PRIMARY KEY D.UNIQUE 和 AUTO_INCREMENET

13、查询不可以重复数据时,去重的关键字是()

A.DISTINCT B.GROUP BY C.AS D.SELECT

14关于having和where的用法,下列使用错误的是()

A.WHERE和HAVING写在GROUP BY的前面

B.WHERE不能写在HAVING的后面

C.WHERE后面不能跟聚合函数

D.HAVING是分组之后再进行筛选

15"事务的所有操作在数据库中要么全部正确反映出来要么全部不反映",这是事务的哪一个特性?( )
  A.原子性      B.一致性        C.隔离性       D.持久性

16、SQL语言中,删除一个表的命令是:( )

A.DELETE TABLE   B.DROP TABLE   C.CLEAR TABLE   D.REMORE TABLE

17、假定已经获得一个数据库连接,使用变量conn表示,删除name值为“张三”的记录,则横 线处可以填入以下(   )代码。

String strSql = "delete from Person where name=?";

PreparedStatement pstmt = conn.prepareStatement(strSql);

__________________

pstmt.executeUpdate();

A) pstmt.setString(0,"张三"); B) pstmt.setString(1,"张三");

C) pstmt.setInt(0,"张三"); D) pstmt.setInt(1,"张三");

18、使用jdbc访问数据库,以下代码正确的是:(   )

A) Statement smt = con.createStatement();

   ResultSet res = smt.executeQuery("select * from table");    

B) Statement smt = con.createStatement("select * from table");

   ResultSet res = smt.executeQuery();

C) PreparedStatement smt = con.createStatement("select * from table");

   ResultSet res = smt.executeQuery();

D) PreparedStatement smt = con.prepareStatement();

ResultSet res = smt.executeQuery("select * from table");

19、表student有三个字段(id,name,age),现在要插入一条数据,正确的是()

A. insert into student values('jack');

B. insert into student(id,name,age) values(1, 'jack',12);

C. insert int student values(1,”jack”,12);

D. insert to student(id,name,age) values(12);

20、下列说法正确的是()

A. alter和update关键字都可以修改表中的内容

B. search和select关键字都可以查询表中的内容;

C. insert 和 add 关键字都可以向表中插入内容;

D. delete和truncate关键字都可以删除表中的内容;

21、表示两个或多个事务可以同时运行而不互相影响的是(    )

A 原子性 B 隔离性 C 一致性 D 持久性

22、使用Connection 的哪个方法可以建立一个PreparedStatement接口(    )

A.createStatement()

B.preparedStatement()

C.Statement()

D. prepareStatement()

23、SELECT * FROM emp;这条SQL语句执行,如果员工表中没有何数据,那么ResultSet中将会是()

A.null
B.有数据
C.不是null,但没有数据
D.出现SQLException异常

24、jdbc执行查询并且返回ResultSet对象的操作方法(    )
A.execute
B.executeSelect
C.executeUpdate
D.executeQuery

25、在MySQL数据库中,查询数据库中emp表的前3条数据,下列选项中正确的是(    )
A.select * from emp limit 1,3              B.select * from emp limit 0,2  
C.select * from emp limit 3              D.select * from emp limit 1,4

二.简答题(每题5分,共20分)

  1. delete语句与truncate语句的区别
  1. truncate 执行删除操作时,数据不可回滚

delete执行删除操作时,数据可回滚

  1. truncate 执行删除时,如果表中有自增列,则自增列还原到初始值

delete执行删除操作时 ,自增列不还原

  1. truncate 不能删除有主外关系中的主表

delete可以删除数据

  1. Statement与PreparedStatement的区别
  1. PreparedStatement是预编译SQL对象, 可以有效防止SQL注入,增加数据安全性

Statement通过拼接SQL,不能防止SQL注入,数据是不安全的

  1. PreparedStatemen是预编译SQL对象 ,当执行同一个SQL语句多次时,仅编译一次,执行多次,效率比较高

Statement执行SQL语句时,先编译,再执行, 同一个SQL语句多次时,需要多次编译多次执行,效率比较低

  1. 数组与链表的区别 :(ArrayList与LinkedList的区别)
  1. 数组在内存中连续存储 ,遍历速度比较快,但因连续存储,随机添加或删除操作复杂
  2. 链表在内存中不要求连接存储 ,遍历速度比较慢,但随机添加或删除操作比较方便
  1. MySQL数据库中,char类型与varchar类型的区别?

      Char :固定长度 ,Varchar:可变长度

如果存储的数据长度不一致时,Char存储时,不足使用空格填充.varchar按字符长度存储

Char  :存取数据时,速度快 ,varChar :操作比较复杂

  1. 事务的特点及隔离级别

  1) 事务四个特征(ACID)

          原子性,一致性,隔离性,持久性

  2) 事务的隔离级别

          read uncommitted : 读未提交的数据

          read committed  :读已提交的数据

          repeatable read : 可重复读

          serializable        : 串行化

三、使用MySQL编写以下SQL语句 (30)

表STUDENT(学生):

中文

编码

类型

学号

STUDENT_ID

INT

姓名

NAME

VARCHAR(200)

年龄

AGE

INT

性别

SEX

INT

表SUBJECT(课程表):

中文

编码

类型

课程编号

SUBJECT_ID

INT

课程名

SUBJECT

VARCHAR(200)

表SCORE(成绩):

中文

编码

类型

学号

STUDENT_ID

INT

课程编号

SUBJECT_ID

INT

成绩

SCORE

INT

根据上图中的表结构,实现以下要求:

  1. 用Sql找出姓名有重名的学生,查询字段包括:姓名及对应的人数

Select name, count(*) from student

Group by name

Having count(*) >1

  1. 查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程名降序排列,查询字段包括:课程名、平均成绩。

Select sub.subject,avg(s.score) avgscore

From subject sub inner join  score s on sub.suject_id = s.subject_id

Group by sub.subject_id

Order by avgscore ,s.subject desc;

  1. 查询所有科目成绩都在80分以上的学生信息,查询字段包括:学号,姓名

Select student_id,name

From student

Where student_id not in(select student_id from score where score <80)

  1. 查询平均分高于80分的学生信息,查询字段包括:学号,姓名

Select student_id,name

From student

Where student_id in(select student_id from score group by student_id having avg(score)>80)

  1. 查询每门课程的最高分和最低分 (课程名,最高成绩,最低成绩)

Select sub.subject,max(score) ,min(score)

From subject sub inner join  score s on sub.suject_id = s.subject_id

Group by sub.subject_id

  1. 查询java课程最高分的学生信息(学号,学生姓名,课程名,成绩)

Select s.student_id ,s.name,sj.subject,sc.score

From student s innner join score sc on s.student_id=sc.student_id

 Inner join subject sj  on sj.subject_id = sc.subject_id

Where sc.score =(select max(score) from score

where subject_id=(select subject_id from subject where subject=java)))

and sj.subject=java

相关推荐

  1. 软件测试——单元测试

    2024-03-26 01:26:01       37 阅读
  2. 软件测试——集成测试

    2024-03-26 01:26:01       42 阅读
  3. 测试:接口参数测试

    2024-03-26 01:26:01       40 阅读
  4. 接口测试:项目测试

    2024-03-26 01:26:01       27 阅读
  5. 测试】1.认识测试

    2024-03-26 01:26:01       38 阅读
  6. 单元测试、集成测试、系统测试区别

    2024-03-26 01:26:01       21 阅读

最近更新

  1. 稀疏之美:在Mojo模型中实现特征的稀疏表示

    2024-03-26 01:26:01       0 阅读
  2. AI开发者的编程语言Mojo:入门指南

    2024-03-26 01:26:01       0 阅读
  3. 跨语言的智能:在多种编程环境中部署Mojo模型

    2024-03-26 01:26:01       0 阅读
  4. Mojo编程语言详细介绍

    2024-03-26 01:26:01       0 阅读
  5. 掌握MOJO命令行:参数解析的艺术

    2024-03-26 01:26:01       0 阅读
  6. 运营商二三要素是什么?有什么意义

    2024-03-26 01:26:01       0 阅读
  7. 3102. 最小化曼哈顿距离

    2024-03-26 01:26:01       0 阅读
  8. PHP String manipulation: A comprehensive guide

    2024-03-26 01:26:01       1 阅读
  9. Qt5 Ubuntu18 QStackedWidget

    2024-03-26 01:26:01       1 阅读

热门阅读

  1. Android adb命令发送广播介绍

    2024-03-26 01:26:01       17 阅读
  2. C++初阶:浅识内存管理

    2024-03-26 01:26:01       18 阅读
  3. leetcode2549--统计桌面上的不同数字

    2024-03-26 01:26:01       20 阅读
  4. vue 中 清除form 校验状态

    2024-03-26 01:26:01       19 阅读
  5. C#使用ASP.NET Core Razor Pages构建网站(三)

    2024-03-26 01:26:01       25 阅读
  6. leetcode35-Search Insert Position

    2024-03-26 01:26:01       19 阅读
  7. linux下自动续签https证书

    2024-03-26 01:26:01       21 阅读
  8. 交换瓶子。

    2024-03-26 01:26:01       20 阅读
  9. 被指标化后的生活

    2024-03-26 01:26:01       17 阅读
  10. objection命令语句大全简洁版

    2024-03-26 01:26:01       23 阅读
  11. [HITCON 2016]Leaking

    2024-03-26 01:26:01       20 阅读