Oracle期末简答题

oracle表,有什么特点?除了普通表外,其他表使用的时机。

1.普通表:特点:语法简洁方便,更新日志开销大,检索慢,无序。
2.临时表:
特点:

  1. 数据不会永久保存
  2. 对其修改不会产生任何日志信息
  3. DML操作仍会产生撤销/回流信息
  4. 没有DML锁

使用
1.当使用sql语句进行连接操作,某些表很大,但其中只有很少一部分参与到连接操作,可以将大表进行拆分得到比较小的结果集合存放在临时表中参与连接
2. 用户程序在执行过程中需要存放一些临时的数据,数据只在整个会话过程中需要
3.索引组织表:
特点:rowid是变化的,安装数据本身特点进行排序
使用:适合于经常通过主键查询记录的情况
4.分区表:
特点:有多个表空间,高效,语法复杂,分区过多对系统有影响。
使用:适合日志表和巨型表
5.簇:
特点:加快连接速度,效率低。
使用:2个或多个表,被访问时总是进行连接。

归档和不归档的区别,影响

归档模式下,数据库中历史重做日志文件全部被保存,即用户的所有操作都被记录下来,因此在数据库出现故障时,即使是介质故障,利用数据库备份、归档日志文件和联机重做日志文件也可以完全恢复数据库。
而在非归档模式下,由于不能执行联机表空间备份操作,不能使用联机归档模式下建立的表空间备份进行恢复,而只能使用非归档模式下建立的完全备份来对数据库进行恢复。

一条insert语句插入多条数据

利用子查询插入

insert into 表 subquery;

无条件多表插入

insert [all]
into table1 values(..)
into table2 values(...)
..
subquery;(select * from dual;当数据自己定义的时候需要查询一个空语句)

有条件多表插入
数据从查询语句中来。

insert all|first
when condition1 then into table1(column1,...)
when condition2 then into table2(column1,...)
..
else into tablen(column1,..)
subquery;
ALL 表示一条记录可以同时插入多个满足条件的表
FIRST 表示一条记录只插入第一个满足条件的

delete和truncate语句删除有什么区别

delete语句删除数据,实际上是将数据标记为unused,不释放空间,同时将操作过程写入日志文档文件,因此delete操作可以回滚。但是,如果删除的数据量非常大的话,效率很低。
truncate是之间释放存储空间,不写入日志,效率高,但是不可用回滚。
truncate没有where的条件筛选,只能单独使用,delete 不仅可以单独而且还可以和 where 搭配,从而实现删除单条或多条数据。

如何大写字符串

upper内置函数
Oracle期末简答题_第1张图片

同专栏的快速通道
oracle的sql练习
oracle权限
oracle创建和修改表以及约束
oracle触发器
PL/SQL基础

你可能感兴趣的:(oracle,oracle,数据库,sql)