sql jdbc测试

news/2024/4/29 9:06:24/文章来源:https://blog.csdn.net/weixin_45939821/article/details/137027414

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1027727.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于树莓派实现 --- 智能家居

最效果展示 演示视频链接&#xff1a;基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from333.999.0.0 &#xff08;PS&#xff1a;房屋模型的搭建是靠纸板箱和淘宝买的家居模型&#xff0c;户型参考了留学时短租的公寓~&a…

Linux repo基本用法: 搭建自己的repo仓库[服务端]

概述 Repo的使用离不开Git, Git 和 Repo 都是版本控制工具&#xff0c;但它们在使用场景和功能上有明显区别… Git 定义&#xff1a;Git 是一个分布式的版本控制系统&#xff0c;由 Linus Torvalds 为 Linux 内核开发而设计&#xff0c;现已成为世界上最流行的版本控制软件之…

【详细讲解PostCSS如何安装和使用】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d; 希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

Leetcode146. LRU 缓存

Every day a Leetcode 题目来源&#xff1a;146. LRU 缓存 解法1&#xff1a;哈希表 链表 代码&#xff1a; /** lc appleetcode.cn id146 langcpp** [146] LRU 缓存*/// lc codestart class LRUCache { private:unordered_map<int, list<pair<int, int>>:…

图解Kafka架构学习笔记(二)

kafka的存储机制 https://segmentfault.com/a/1190000021824942 https://www.lin2j.tech/md/middleware/kafka/Kafka%E7%B3%BB%E5%88%97%E4%B8%83%E5%AD%98%E5%82%A8%E6%9C%BA%E5%88%B6.html https://tech.meituan.com/2015/01/13/kafka-fs-design-theory.html https://feiz…

华为防火墙配置指引超详细(包含安全配置部分)以USG6320为例

华为防火墙USG6320 华为防火墙USG6320是一款高性能、高可靠的下一代防火墙,适用于中小型企业、分支机构等场景。该防火墙支持多种安全功能,可以有效抵御网络攻击,保护网络安全。 目录 华为防火墙USG6320 1. 初始配置 2. 安全策略配置 3. 防火墙功能配置 4. 高可用性配…

四种常用限流算法、固定窗口限流算法、滑动窗口限流算法、漏桶限流算法和令牌桶限流算法

什么是限流&#xff1f; 限流可以被视为服务降级的一种形式&#xff0c;其核心目标是通过控制输入和输出流量来保护系统。通常&#xff0c;一个系统的处理能力是可以预估的&#xff0c;为了确保系统的稳定运行&#xff0c;当流量达到预定的阈值时&#xff0c;必须采取措施限制进…

在宝塔面板中,为自己的云服务器安装SSL证书,为所搭建的网站启用https(主要部分攻略)

前提条件 My HTTP website is running Nginx on Debian 10&#xff08;或者11&#xff09; 时间&#xff1a;2024-3-28 16:25:52 你的网站部署在Debain 10&#xff08;或者11&#xff09;的 Nginx上 安装单域名证书&#xff08;默认&#xff09;&#xff08;非泛域名&#xf…

数据结构与算法(二)优先队列

数据结构与算法&#xff08;二&#xff09; 优先队列 一、优先队列的基本概念 我们的电脑总是运行着多个程序&#xff0c;电脑会给每个程序分配一个优先级&#xff0c;并首先执行下一个优先级更高的程序。在此情况下&#xff0c;可将其抽象为一个数据结构&#xff0c;该数据结构…

鸿蒙HarmonyOS开发-FA模型访问Stage模型DataShareExtensionAbility

无论FA模型还是Stage模型&#xff0c;数据读写功能都包含客户端和服务端两部分。 FA模型中&#xff0c;客户端是由DataAbilityHelper提供对外接口&#xff0c;服务端是由DataAbility提供数据库的读写服务。 Stage模型中&#xff0c;客户端是由DataShareHelper提供对外接口&…

【JavaEE】_Spring MVC项目获取URL中的参数

目录 1. 单参数 2. 多参数 1. 单参数 .java文件如下&#xff1a; package com.example.demo.controller;import com.example.demo.Person; import org.springframework.web.bind.annotation.*;import java.util.Arrays; import java.util.List;RequestMapping("/Para&…

SpringBoot Redis 之Lettuce 驱动

一、前言 一直以为SpringBoot中 spring-boot-starter-data-redis使用的是Jredis连接池&#xff0c;直到昨天在部署报价系统生产环境时&#xff0c;因为端口配置错误造成无法连接&#xff0c;发现报错信息如下&#xff1a; 一了解才知道在SpringBoot2.X以后默认是使用Lettuce作…

jmeter中参数加密

加密接口常用的方式有&#xff1a; MD5&#xff0c;SHA&#xff0c;HmacSHA RSA AES&#xff0c;DES&#xff0c;Base64 压测中有些参数需要进行加密&#xff0c;加密方式已接口文档为主。 MD5加密 比如MD5加密的接口文档&#xff1a; 请求URL&#xff1a;http://101.34.221…

【机器学习】数据探索(Data Exploration)---数据质量和数据特征分析

一、引言 在机器学习项目中&#xff0c;数据探索是至关重要的一步。它不仅是模型构建的基础&#xff0c;还是确保模型性能稳定、预测准确的关键。数据探索的过程中&#xff0c;数据质量和数据特征分析占据了核心地位。数据质量直接关系到模型能否从数据中提取有效信息&#xff…

linux中查看内存占用空间

文章目录 linux中查看内存占用空间 linux中查看内存占用空间 使用 df -h 查看磁盘空间 使用 du -sh * 查看每个目录的大小 注意这里是当前目录下的文件大小&#xff0c;查看系统的可以回到根目录 经过查看没有发现任何大的文件夹。 继续下面的步骤 如果您的Linux磁盘已满&a…

VScode中cmake调试

一般的cmake命令行测试方法&#xff1a; cmake -S . -B build cmake --build build ./build/cmake_debug 在vscode中使用图形化界面操作的方法 main.cpp #include <iostream>int main() {int num_a, num_b;num_a 10;num_b 20;std::cout << "num_a &qu…

TTS通用播放库技术设计

TTS音频播放库技术设计 目录介绍 01.整体介绍概述 1.1 项目背景介绍1.2 遇到问题1.3 基础概念介绍1.4 设计目标1.5 问题答疑和思考 02.技术调研说明 2.1 语音播放方案2.2 TTS技术分析2.3 语音合成技术2.4 方案选择说明2.5 方案设计思路2.6 文本生成音频 03.系统TTS使用实践 3…

CSS(六)

一、精灵图 1.1 为什么需要精灵图 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁地接收和发送请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度。 因此&#xff0c;为了有效…

Vue挂载全局方法

简介&#xff1a;有时候&#xff0c;频繁调用的函数&#xff0c;我们需要把它挂载在全局的vue原型上&#xff0c;方便调用&#xff0c;具体怎么操作&#xff0c;这里来记录一下。 一、这里以本地存储的方法为例 var localStorage window.localStorage; const db {/** * 更新…

面试八股——Redis——分布式锁——Redisson

1.看门狗机制 注意看门狗机制&#xff1a;redisson会监听持有锁的线程&#xff0c;并每隔一段时间(releaseTime/3&#xff0c;默认releaseTime为30s)&#xff0c;如果线程还未释放锁的话&#xff0c;会给锁做一次续期。 2. 主从一致性 实际开发中我们会搭建多台redis服务器&a…