天天看点

Oracle阶段性知识点总结

  1. 三种并发操作带来的问题:

    脏读,数据修改后没有提交。

    幻读,第二次读取数据不同,产生幻觉。

    不可重复读,一次事物之间进行两次读取,读取的内容不同。

  2. jdbc默认的事务提交模式是什么?怎么设置?

    自动提交。

    conn.setAutoCommimt(true|false)

  3. 在Oracle中,有一个名为seq的序列对象,如果获取改序列的下一个值以及如何获取序列的当前值,请写出sql语句。

    select seq.nextval from dual;

    select seq.currval from dual;

  4. 关于oracle中的类型char和varchar2的区别是什么?

    char是定长,varchar2的长度可变,varchar2是oracle数据库独有的一种类型

  5. 使用sql查询时,组函数可以放到什么语句后面?

    select语句、having语句、order by 语句

    不能放在where后面

  6. 在Oracle中,有一个教师表teacher的结构如下:

    ID NUMBER(5)

    NAME VARCHAR2(25)

    EMAIL VARCHAR2(50)

    请快速创建一个新表test,其中,test表有id和name俩字段,并且数据取自teacher表中的id和name列上的值。

    create table test

    as

    select id,name

  7. 数据库事务的特点有哪几个?

    原子性、一致性、隔离性、持久行

    (ACID)

  8. 在sqlplus中执行脚本a.sql文件方式那有些,请列出俩种

    start a.sql

    @a.sql

  9. oracle数据库字符函数substr的作用是什么,请举例说明。

    字符串的截取

    select substr(‘hello’,1,3) from dual;

    结果为 hel

    表示从hello的第一个字符开始,连续截取3个字符

  10. select sysdata-1/2 from dual的查询结果表示的含义是什么?

    返回值是一个时间数据,表示当前时间的往前推12小时的这个时间点。

  11. maven中在什么地方修改本地仓库的位置?

    maven安装目录的conf中的setting.xml中修改即可

  12. maven打包项目的时候,怎么跳过测试阶段?

    mvn package -Dmaven.test.skip=true

  13. maven中build标签里面可以做哪些配置,列出三个

    设置打包后最终名字

    设置哪些资源可以过滤

    设置使用的插件配置

  14. oracle中查看当前用户是谁的命令是?

    show user

  15. oracle中查看当前用户下有哪些表是谁的命令是?

    select table_name from user_tables;

  16. svn中,如果服务器上的a文件的版本为10,那么我们在本地编辑提交文件a的时候,a的当前版本如果为9,那么这时候提交会怎么样?

    提交出错,错误信息为 out of date ,表示当前文件版本已经过期,不是最新版本。

  17. oracle中视图有哪些分类,有什么区别?view的本质上代表的是什么?

    简单视图

    sql语句中只有一张表,没有组函数,没有group by语句。

    复杂视图

    sql语句中查询的不是一张表,或者有组函数,或者有group by语句

view的本质上代表的是一条sql语句

  1. 请描述jdbc的步骤有哪些

    注册驱动

    获取数据库连接对象

    创建stmt对象

    执行sql语句

    处理结果集合

    关闭资源

  2. 请简述Statement和PreparedStatement的关系和区别。

    Statement是父接口

    PreparedStatement是子接口

Statement一般处理异构的sql语句,执行一次,把sql语句发给数据库一次

PreparedStatement一般处理同构的sql语句,可以使用?占位符,预先把sql发给数据库,然后每次再发送数据给数据库来代替?占位符即可。

  1. 有表一的查询结果如下,该表为学生成绩表:

    select id,grade from student_grade

ID GRADE
1 50
2 40
3 70
4 80
5 30
6 90

表二为补考成绩表

select id,grade from student_makeup

ID GRADE
1 60
2 80
5 60

请写出sql语句,把学生的成绩查询出来,如果有补课成绩, 那么把补课成绩也显示出来。

select sg.id,sg.grade,sm.grade

from student_grade sg left outer join student_makeup sm

on sg.id = sm.id

  1. maven的常用命令有哪些,请列出五个

    mvn clean

    mvn compile

    mvn test

    mvn package

    mvn install

  2. s_emp表中,查询各部门中比当前部门平均工资高的员工信息,要求显示员工名字、工资、部门、部门平均工资

select s1.last_name,s1.salary,s1.dept_id,t.avgSal

from s_emp s1,(

select dept_id,avg(salary) avgSal

from s_emp

group by dept_id

) t

where

s1.dept_id = t.dept_id

and

s1.salary > t.avgSal

  1. s_emp表中,查询每个管理者所管理的员工都有谁?要求不属于任何管理者的员工也要显示出来。

    要求显示管理者名字、员工名字,并且取别名进行区别

    select s1.last_name,s2.last_name

    from s_emp s1 right outer join s_emp s2

    on s1.id = s2.manager_id;

继续阅读