mysql 数据泵导入导出_【Oracle篇】约束和数据泵导入导出
-- : 建立一個用戶,以下的操作在本用戶下(例如用戶名為 test)
create user test identified by test;
-- : 進入sys用戶,分別在test下建立emp和dept表
create table test.emp as select * from scott.emp;
create table test.dept as select * from scott.dept;
-- 使用命令給上題的表建立上主外鍵
alter table emp add constraints pk_empno primary key(empno);
alter table dept add constraints pk_deptno primary key(deptno);
alter table emp add constraints fk_de_em foreign key(deptno) references dept(deptno);
-- 導出這個用戶
--1、連接Oracle數據庫
SQL> conn / as sysdba
--2、創建一個操作目錄
SQL> create directory chenfeng_dir as 'D:\北民2014\7.1\dump';
--注意同時需要使用操作系統命令在硬盤上創建這個物理目錄。
--目錄已創建。
--3、分配目錄對象my_dir使用權限,給需要導出的用戶
SQL>grant read,write on directory chenfeng_dir to chenfeng;
C:\>expdp chenfeng/chenfeng directory=chenfeng_dir dumpfile=20140701_schema_chenfeng.dmp schemas=chenfeng logfile=chenfeng.log;
--: 刪除這個用戶
SQL> drop user chenfeng cascade;
--: 導入這個用戶看看是否成功。
-- 用戶的導入 ----------
--1、連接Oracle數據庫
SQL> conn / as sysdba
--2、創建一個導入操作目錄
SQL> create directory chenfeng_dir as 'D:\北民2014\7.1\dump';
--3、創建用戶,并分配權限
SQL> create user chenfeng identified chenfeng;
SQL> grant connect,resource to chenfeng;
SQL> grant read,write on directory chenfeng_dir to chenfeng;
--4、導入用戶
C:\>impdp chenfeng/chenfeng directory=chenfeng_dir dumpfile=20140701_schema_chenfeng.dmp schemas=chenfeng;
--------------------------------------------
-- 熟悉對約束操作的命令:
--建立列時、建立表時間、建立表后。
-- 一、主鍵加約束
--1-建立列時
create table student(
sno number primary key,
sname varchar2(20)
);
drop table student;
--2-建立表時間
create table student(
sno number,
sname varchar2(20),
primary key(sno)
);
--3-建立表后。
create table student(
sno number,
sname varchar2(20)
);
alter table student add constraints pk_s primary key(sno);
-- 二、外鍵加約束
--1-建立列時
drop table teacher;
create table teacher(
tno number references student(sno),
tname varchar2(20),
primary key(tno)
);
--2-建立表時間
create table teacher(
tno number,
tname varchar2(20),
constraints fk_t foreign key(tno) references student(sno)
);
--3-建立表后。
create table teacher(
tno number,
tname varchar2(20)
);
alter table teacher add constraints fk_t foreign key(tno) references student(sno);
-- 二、非空加約束
--1-建立列時
drop table teacher;
create table teacher(
tno number,
tname varchar2(20) not null
);
--2-建立表后
create table teacher(
tno number,
tname varchar2(20)
);
alter table teacher modify tname not null;
-- 二、獨立加約束
--1-建立列時
drop table teacher;
create table teacher(
tno number unique,
tname varchar2(20)
);
--2-建立表時間
create table teacher(
tno number,
tname varchar2(20),
constraints uq_t unique(tno)
);
--2-建立表后
create table teacher(
tno number,
tname varchar2(20)
);
alter table teacher modify tname unique;
-- 3.5、檢查約束:用戶表列數據必須要滿足的自定義條件。
-- a、定義列的時候定義:
create table tab(
tid number,
tage number constraint ck_tage check(tage>=18)
);
-- b、定義表的時候定義:
create table tab(
tid number,
tsex number(1),
constraint ck_tage check(tsex in(0,1))
);
-- c、定義表后定義:
create table tab(
tid number,
tsex number(1));
alter table tab add constraint ck_tage check(tsex in(1,0));
-- 查看約束
select constraint_name,constraint_type
from user_constraints where table_name='EMP';
-- 外鍵約束的“級聯刪除”、“級聯置空” 設置
create table dept2 as select * from dept;
alter table dept2 add constraint pk_dept2 primary key(deptno);
create table emp2 as select *from emp;
alter table emp2 add constraint pk_emp2 primary key(empno);
-- 刪除約束
alter table emp2 drop constraint fk_e2_d2;
-- 設定級聯刪除外鍵約束
alter table emp2 add constraint fk_e2_d2 foreign key(deptno) references dept2(deptno) on delete cascade;
-- 設定級聯置空外鍵約束
alter table emp2 add constraint fk_e2_d2 foreign key(deptno) references dept2(deptno) on delete set null;
delete dept2 where deptno=20;
-- 4、視圖 -------------------------
-- 需要分配給scott用戶視圖權限
grant create view to scott;
-- 視圖:沒有物理數據,僅僅捆綁了一個查詢的虛擬數據源。
-- 建立視圖:
create or replace view v_dept as select * from dept;
update dept set dname=lower(dname);
-- 視圖的分類:
-- 1 簡單視圖:子查詢僅僅涉及一張表,并且沒有數據變型。
-- 視圖數據可以對應到物理數據的ROWID
-- 簡單視圖,可以通過對視圖做DML操作,而修改物理數據。
update v_dept set dname=upper(dname);
-- 2 復雜視圖:子查詢涉及多張表,或者有數據變型。
-- 復雜視圖,不能通過對視圖做DML操作,而修改物理數據。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的mysql 数据泵导入导出_【Oracle篇】约束和数据泵导入导出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8 pe工具箱怎么用 win8 p
- 下一篇: 电脑插着u盘启动不了怎么回事啊 电脑插u