Oracle学习笔记

发布 2021-05-11 23:26:28 阅读 2413

oracle学习笔记(1) oracle数据库编程基础。

这段时间出差,一直在搞需求分析和设计,每天都是写文档画uml,都有好几个月没有写**了,只怕都快忘记了!

这是我用oracle时学习的oracle编程做的笔记,今天也发上来与大家分享一下,一共有八章。

现在在有时间就学一下ejb3,因为在项目中会用到,等学完了把ejb3的笔记也发上来和大家分享!

通过sqlplus登录oracle ,sqlplus 用户名/密码@数据库名

建表 sql**

1. createtabledemo(

2. idnumber(8),3. namevarchar2(20)

create table demo(

id number(8),name varchar2(20)

插入数据 sql**

1. insertintodemovalues(1,'zhangshang');

2. insertintodemovalues(2,'lishi');

insert into demo values(1,'zhangshang');

insert into demo values(2,'lishi');

提交 sql**

1. commit;

commit;

查询数据字典(table_name='这里的值要大写')

sql**

1. select*fromdba_tab_'demo';

select * from dba_tab_cols a where 'demo';

创建视图 create or replace:如果该视图存在就替换,如果不存在就创建

sql**

1. createorreplaceviewmyviewasselectid编号,name姓名fromdemo;

2. select*frommyview;

create or replace view myview as select id 编号,name 姓名 from demo;

select * from myview;

创建同义词(同义词相当于表的别名或逻辑名,可以通过该名称来操作相对应的物理表)

在分布式oracle数据库中,标识一个对象需要四部分:主机名、实例名、模式名、对象名。例如其中模式名是system,对象名是auths,是一个数据库链,它指向服务器px上的实例orcl,我们可以为其指定一个同义词,使所有的用户都可以通过简单的同义词来访问表

创建公有的同义词

sql**

1. createpublicsynonymsyn1fordemo;

create public synonym syn1 for demo;

创建私有的同义词

sql**

1. createsynonymsyn2fordemo;

create synonym syn2 for demo;

创建并使用序列

创建序列的完整语法:

create sequence 序列名 increment by 增量种子数 start with 起始数字 maxvalue 最大值;

我们可以使用序列的两个属性nextval和currval,其中nextval是返回下一个可用的序列值,而currval用于获得当前序列的值

创建序列的简单方法

sql**

1. createsequencemyseq;

create sequence myseq;

使用创建的序列

sql**

1. insertintodemovalues('ddd');

insert into demo values('ddd');

获得当前序列的值

sql**

select from dual;

删除一条记录

sql**

1. deletefromdemowhereid=2;

delete from demo where id=2;

查询所有记录

sql**

1. select*fromdemo;

select * from demo;

格式化日期时间

sql**

1. selectto_char(sysdate,'yyyy-mm-ddhh24:mm:ss')格式化日期fromdual;

文章分类:数据库

这是第二章的学习笔记,学习完第一章的基础之后,从现在开始要学习oracle编程了……,希望大家能多给俺一些支持啊!

编程时使用的工具是plsql developer 7.1.4

sql**

1. select*fromemployee;

2. select*fromdba_tab_'employee';

select * from employee;

select * from dba_tab_cols t where 'employee';

sql**

1. -声明部分,用于定义变量。

2. declare

- 声明部分,用于定义变量。

declare

constant用于定义常量,当定义常量时必须指定它的初始值,且数据不能改变

sql**

1. n_aaaconstantnumber(4,2):=5.5;

n_aaa constant number(4,2) :5.5;

boolean 类型的值只能用于sqlplus语句块中,不能用在表字段的数据类型中

not null 用于强制初始化变量不能为空,此时必须为变量指定值

default用于指定变量或常量的默认值

sql**

1. v_validbooleannotnulldefaultfalse;

2. v_namevarchar2(20);

v_valid boolean not null default false;

v_name varchar2(20);

为了确保变量使用合适的数据类型和长度,可以使用%type属性定义变量,它会按照数据库列

或其它变量来确定新变量的类型和长度

sql**

1. v_v_job

将v_job2定义为与变量v_job的数据类型和长度完全一致

sql**

1. v_job2v_job%type;

v_job2 v_job%type;

复合变量:

处理单行单列数据时,用标量变量;处理单行多列时,用pl/sql记录;处理单列多行时,

用集合;处理多行多列数据时,可以结合使用pl/sql记录和集合

pl/sql记录(record):

方法一: emp_recode_type 是pl/sql记录类型并包含有三个成员(name,salary,job)

sql**

1. typeemp_recode_typeisrecord(

type emp_recode_type is record(

name salary job

emp_recode是记录变量

sql**

1. emp_recodeemp_recode_type;

emp_recode emp_recode_type;

方法二: 使用表名的%rowtype 属性定义记录变量

注意:用%rowtype 属性定义记录变量时,记录成员个数、名称、类型必须与

表或视图的列的个数、名称和类型完全相同

sql**

1. emp_recode2employee%rowtype;

emp_recode2 employee%rowtype;

集合类型 pl/sql 表(也称索引表,下标可以为负数,下标没有上限和下限,并且元素的个数无限)

sql**

1. -这里的table实指集合。

2. typename_table_

3. name_tablename_table_type;

-这里的table 实指集合。

type name_table_type is table of index by binary_integer;

name_table name_table_type;

嵌套表: 嵌套表的下标不能为负值,其元素的个数没有限制并可以使用表列的数据类型

在使用嵌套表时必须先用create type 语句建立嵌套表类型

嵌套表只是比pl/sql 表少了 index by binary_integer

sql**

1. typenum_table_typeistableofnumber(4);

2. num_tablenum_table_type;

type num_table_type is table of number(4);

ORACLE学习笔记

rac real application clusters 真实应用集群。ohs oracle http server sga system global area 系统全局区,是系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。实例 存取和控制数据数...

Oracle学习笔记

参数文件 记录了控制文件的位置,控制文件是一个非常小的二进制文件,最大。可以增长到 64mb,控制文件包括如下主要信息 数据库的名字,检查点信息,数据库创建的时间戳 所有的数据文件,联机日志文件,归档日志文件信息 备份信息等 有了这些信息,oracle 就知道那些文件是数据文件,现在的重做日志文件是...

ORACLE学习笔记

目录。oracla管理 1 1.登录sqlplus 1 1.1.sysdba 身份登陆 1 1.2.普通用户登陆sqlplus 1 2.常用命令 1 3.格式化提示符 2 4.查看系统状态 2 4.1.查看实例状态 2 4.2.查看表 2 5.关闭 启动 2 6.创建表空间 3 7.用户和权限 3 ...