• Oracle面试的基本题


    事务

    事务的概念

    事务就是对数据操作的一系列指令集合。

    事务的四个特性

    • 原子性

      事务的操作要么全部成功,要么全部失败,如果有一个指令失败,那么事务回滚到初始状态。

    • 一致性

      事务的执行不能破坏数据的完整性和一致性,比如总额是2000,那么无论怎么转账,总额应该保持不变。

    • 持久性

      一旦事务被提交了,那么无论停电还是宕机,数据都应该永久保存在数据库中。

    • 隔离性

      事务的操作应该是独立的,不能被其他事务干扰。

    事务的隔离级别

    • 读未提交(Read uncommitted)
      • 可能导致脏读

        假如事务A修改了数据,此时并未提交,事务B读取数据之后事务A回滚了,那么事务B读取错误。

    • 读已提交(READ_COMMITTED)
      • 可能导致不可重复读

        假如事务A在查询数据,此时事务B修改事务并提交,事务A又来查询数据,此时数据不一致。

    • 可重复读(Repeatable read)
      • 可能导致幻读

        假如事务A将某张表的id从1变为2,此时事务B插入一条id为1的数据并提交,事务A再查询,发现没有全部修改,像是出了幻觉。

    • 串行化(Serializable)
      • 不会产生任何问题

    MySQL支持四种级别,默认可重复读(Repeatable read)。

    Oracle支持读已提交(READ_COMMITTED)和串行化(Serializable)两种类型,默认读已提交。

    DQL、DML、DDL、DCL的概念与区别

    DQL

    Data query language 数据查询语言 select操作

    DML

    Data Manipulation language 数据操作语言 增删改操作

    DDL

    Data defination language 数据定义语言 建表,删表,修改表字段

    DCL

    data control language 数据控制语言 commit,revoke,grant之类

    分页查询

    下面这行查询语句查不到数据
    select rownum,sid from student where rownum > 10;
    因为rownum是结果集的一个伪列(也就是要先有结果集),结果集现在被默认编号,从1开始,查询第一条结果不满足条件删除,第二条结果又变成了编号1,又不满足被删除,最后就没有满足条件的了。
    

    基本的方式

    select *
          from (select row_.*, rownum rownum_
                  from (select *
                          from student) row_
                 where rownum <= 10)
         where rownum_>= 5;
    
    select * from (select student.*,rownum rownum_ from student where rownum <=10) row_
    where rownum_>=5;
    

    Union与Union ALL

    Union

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

    Union ALL

    UNION ALL 命令会列出结果集中所有的值

  • 相关阅读:
    【6】肿瘤胚系突变遗传分析及数据库使用
    【5】肿瘤DNA甲基化数据分析原理及流程
    【4】肿瘤转录组测序分析流程及相关软件
    【3】肿瘤基因组数据分析方法概述
    【2】肿瘤基因检测相关技术原理
    MySQL数据排序asc、desc
    python的数据类型
    Python minidom模块(DOM写入和解析XML)
    python基础----特性(property)、静态方法(staticmethod)、类方法(classmethod)、__str__的用法
    python os.path模块常用方法详解
  • 原文地址:https://www.cnblogs.com/bihanghang/p/9956954.html
Copyright © 2020-2023  润新知