oracle入门学习笔记(五)

2014-11-24 14:18:32 · 作者: · 浏览: 2
=d:\1.dmp导出自己方案

Exp system/manager@mydb owner=(system,scott) file=d:\2.dmp;导出其他方案(使用system导出scott的方案)

E.导出数据库

Exp userid=system/manager@mydb full=y inctype=complete file=x.dmp;inctype表示增量备份。

F.导入表:

Imp userid=scott/tiger@mydb tables=(emp) file=d:\xx.dmp;导入自己的表

Imp userid=system/manager@mydb tables=(emp) file=d:\d.dmp;导入其他表

Imp userid=scott/tiger@mydb tables=(emp) file=d:\1.dmp row=n;导入数据表结构

Imp userid=scott/tiger@mydb tables=(emp) file=d:\1.dmp ignore=y;如果数据表已经存在,只导入数据。

G.导入方:

Imp userid=scott/tiger file=1.dmp;导入自己方案

Imp userid=system/manager file=d:\xxx.dmp fromuser=system touser=scott;

H.导入数据库

Imp userid=system/manager full=y file=1.dmp;

25. 数据字典和动态性能视图

数据字典提供数据库的系统信息;数据字典属于sys用户。

动态性能视图记载例程启动后的相关信息。

数据字典分为:字典基表和动态视图构成。基表存储数据库基本信息,普通用户不能直接访问数据字典的基表。数据字典视图是基于数据字典基表简历的视图,普通用户可以同过查询字典视图获取系统信息。数据字典视图主要包括:user_xxx,all_xxx,dba_xxx三种类型。

User_tables:显示当前用户所拥有的表。Select table_name from user_tables;

All_tables:显示当前用户可访问的所有表。

Dba_tables:显示所有方案拥有的数据表。

用户名、权限或者角色等信息都存储在数据字典当中。

26. 管理表空间和数据文件

Orracle的逻辑结构包括:表空间、段、区和块。数据库由表空间构成,表空间由段构成,段由区构成,区由块构成。

表空间:表空间是数据库的逻辑组成部分。表空间由一个或者多个文件组成。表空间控制数据库占用的磁盘空间,dba可以将不同数据类型不熟到不同的位置,这样有利于提高i/o性能。

1. 建立表空间:create tablespace

2. 建立数据表空间:create tablespace data01 datafile ‘c:\data01.dbf’ size 20m uniform size 128k;区大小128K

3. 使用表空间:create table mypart(deptno number(4),dname vchar2(14)) tablespace sp001;

27. 约束

数据的完整性用于确保数据库的数据遵从一定的商业和逻辑规则。在

中,数据的完整性可以使用约束、触发器,应用程序(过程、函数)三种方式完成。

约束用于确保数据库数据满足特定的商业规则。Oracle中约束包括:not null、unique,primary key,foreign key和check五中。

Not null:非空,插入数据时必须提供数据

Unique:该值不能重复,但是可以为null

Primary key:唯一的标示表行的数据,该列不能重复且不能为null,一张表只能有一个主键,但可以有多个unique。

Foreign key:用于定义主表和从表之间的关系。外键约束要定义在从表上,主表则必须具有主键约束或者unique约束当定义外键约束后,要求外键列数据必须在主表的主键列或者是null。

Check:强制行数据满足条件。

Create table goods(goodsID char(8) primary key,--主键

goodsName varchar2(30),

nitprice number(10,2) check (unitprice>0),

category varchar2(8),

provider varchar2(30));

Create table customer(customerID char(8) privary key,

name vchar2(30) not null,

address varchar2(50),

email varchar2(50) unique,

sex char(2) default ‘男’ check(sex in ‘男’,’女’)

cardId char(18));

Create table purchase (customerId char(8) references customer(customerId),

goodsId char(8) references goods(goodId),

nums number(5) check (nums between 1 and 30));

删除约束:alter table 表名 drop constraint 约束名称。在删除主键时,有必要加入cascade关键字,以防主键有关联关系。

28. 索引:用于加速数据存取的数据对象。

单列索引:基于单个列锁创建的索引:create index 索引名 on 表名(列名)

复合索引:基于两列或者是多列的索引。

29. 权限:执行特定类型sql命令或是访问其他方案对象的权利,包括系统权限和对象权限两种。

30. 角色:相关权限的集合,用于简化权限的管理。

31. PL/SQL

PL/SQL(procedural language/sql)是oracle标准的sql语言的扩展。它不仅允许嵌入sql语言,还可以定义变量和常量,并允许使用条件和循环语言,以及使用例外处理各种错误等。

//创建

Create procedure mypc is

Begin

Insert into mytabel values(‘a’,’sf’);

End;

/用于通知执行该存储过程

//调用

Exec 过程名或则call过程名

块构成:

Declare:定义部分

Begin:执行部分

Exception:里外部分

End;

在java中使用CallableStatement cs = conn.prepareCall(“{call mypc( , )}”);

Cs.setString(1,”Smith”);

Cs.setInt(2,20);

Cs.execute();

Cs.close();

Conn.close();

函数:用于返回特定的数据,使用create function创建函数

Create function myfun(name varchar2) return Number is mysal number(7,2);

Begin

Select sal*12+nvl(comm.,0)*12 into mysal from emp where ename=name;

Return mysal;

End;

调用:

Sqlplus中:

Var income number;

Call myfun(‘S