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 |