Oracle操作合集

Orcale11体系结构概述

数据库管理系统

实例(instance):一组的甲骨文后台进程以及在服务其中的分配的共享内存区域 数据库(database):基于磁盘的数据文件,控制文件 数据库服务器(database server):管理数据库的各种软件工具,比如SQLPLUS,OEM 关系:数据库为实例提供数据,实例用于管理,日志文件,参数文件和归档日志文件等组成的物理文件集合和控制数据库;数据库可以被多个实例装载和打开,而一个实例在其生存期内只能装载和打开一个数据库

数据块的逻辑和物理结构

数据块(Data Blocks):逻辑存储结构中最小的逻辑单位 数据区(Extent):由一组连续的甲骨文数据块所构成的甲骨文存储结构 段(Segment):由一个或多个数据区构成,是一个独立的逻辑存储结构 表空间(TableSpace):数据库最大逻辑划分区域

查询命令

	----查看数据库大小
	col name format a30
	col name format a20
	select name,value from v$parameter
	where name='db_block_size';
	-----查看数据字典信息
	col table_name for a30;
	col comments for a30;
	select * from dict;
	----查看数据文件信息
	col file_name for a50;
	set linesize 100;
	select file_name,tablespace_name from dba_data_files;
	---查看临时文件信息
	col file_name format a50;
	col tablespace_name format a20;
	select file_name,tablespace_name from dba_temp_files;
	---查看临时文件信息
	col name format a60;
	select * from v$controlfile;
	---查看redo日志信息
	select * from v$logfile;
	---查看系统是否采用归档模式
	col name format a30;
	select dbid,name,log_mode from v$database;
	---查看归档日志文件的路径
	set pagesize 30;
	show parameter log_archive_dest;
	---查询服务器参数
	col name for a30;
	col value for a30;
	select name,value,ismodified from v$parameter;
	----查看警告文件路径
	col name for a30;
	col value for a30;
	select name,value from v#parameter
	where name='background_dump_dest';
	----查看用户跟踪文件路径
	col name for a30;
	col value for a30;
	select name,value from v$parameter
	where name='user_dump_dest';

系统全局区SGA

程序全局区PGA

查询命令

SQL PLUS 命令

set命令

help 命令

describe 命令

查询指定数据对象的组成结构

spool 命令

把查询结果输出到指定文中,这样可以保存查询结果并方便打印

define命令

定义一个用户变量并且可以分配给它一个char值

&job临时变量

show命令 显示sql *plus系统变量的值或是 sql plus环境的值

edit命令 实现在记事本中编辑

save命令

实现将sql缓冲区中的最近一条sql语句或pl/sql块保存到一个文件中

get命令

把sql脚本文件内容放进sql缓冲区

start和@命令

执行一个sql脚本文件

column命令

实现格式化查询结果,设置列宽度,重新设置列标题等功能

ttltle和btitle命令

ttitle 设置打印时每页顶部的标题 btitle 。。。。。。底部。。。

用户模式

模式与模式对象

模式为一个数据库用户所有,并且具有与该用户相同的名称,比如,system模式,scott模式。 在一个模式内部不可以直接访问其他模式的数据库对象。

##检索数据

简单查询

筛选查询

比较筛选: = ,>, <, <>, !, >=, <=

分组查询和排序查询

聚合类函数

多表关联查询

Oracle常用系统函数

字符类函数

数字类函数

日期和时间类函数

转换类函数

子查询的用法

什么是子查询subquery

单行子查询

示例:

多行子查询

返回多行数据,使用比较符号in,any,all

多列子查询

返回多个列数据的子查询语句

关联子查询

操作数据库

插入数据

更新数据

删除数据

PL/SQL编程语言基础

基础

分类:

  • 匿名块:动态生成,执行一次,不能由其他应用程序调用

  • 命名块:一次编译可多次执行的PL/SQL程序,包括函数,存储过程,包,触发器等。

词法单元

  • 字符集:大小写字母,数字,非显示字符,数字符号,标点符号 *不区分大小写,除由单引号引起来的字符串和格式化后的日期

  • 标识符:用于定义变量,常量,异常,游标,名称,游标变量,参数,子程序名称和其他程序单元名称

  • 分割符:指有特定含义的单个符号或组合符号

  • 常量值 字符型:区分大小写 数字型:整数,实数 布尔型:true,false,null 日期型:表示日期值

变量与常量的定义

SQL语句:

select xxx into 查询1个字段或是多个字段信息,结果存储在某一种数据类型变量中

  • 记录类型 record

包含若干个成员分量的复合类型,需要先生命部分定义,然后在执行部分引用

  • %rowtype

    定义一个与数据库中某个表结构一致的记录类型的变量 ** 变量的类型 会随着 表的变化 而变化 ** 如果数据库列表中有not null,则 %rowtype返回的数据类型没有这个限制

  • 使用&x变量在运行时提示输入实际值

控制结构

  • 选择

循环结构

Loop循环

while 循环

for 循环

游标(Cursor)

游标是oracle系统在内存中开辟的一个工作区,可以存放select语句返回的查询结果,可以是单条,也可以是多条,也可以是零条。 游标工作区中,存在一个指针(pointer),在初始状态,它指向查询结果的首记录。

  • 显式游标 由用户定义和操作,用于处理返回多行数据的select查询

  • 隐式游标 由系统自动进行操作,用于处理dml语句和返回单行数据的select查询

步骤:

显式游标

显式游标属性

隐式游标

也称为SQL游标,主要处理insert,update,delete以及单行的select into 语句 没有open,fetch,close等操作命令

隐式游标属性和显示一致

过程

函数

函数可以在sql语句的以下部分调用

包是包含了一个或是多个子程序单元(过程,函数等)的容器

触发器

触发器是一种特殊类型的存储过程,编译后存储在数据库服务器中 当特定事件发生的时候,由系统自动调用执行 用于维护那些通过创建表时的生命约束不坑实现的复杂的完整性约束,并对数据库中特定时间进行监控和相应。

语句级触发器

针对一条dml语句而引起的触发器执行 *不使用for each row子句,无论数据操作影响多少行,触发器只会执行一次

行级别触发器

针对dml操作所影响的每一行数据都执行一次触发器 创建这种触发器的时候,必须在语法中使用for each row这个选项

替换触发器

instead of 与其他类型触发器不同的是,替换触发器定义在试图(view)上的,而不是定义在表上。 视图:多个基表连接组成的逻辑结果,一般不允许用户进行dml操作 通过替换触发器中编写适当的代码对视图进行操作

用户事件触发器

因进行ddl操作或是用户登录,退出等操作而引起运行的一种触发器

触发器的组成

执行顺序:

数据表

创建表

数据完整性和约束性

用户管理与权限分配

Last updated