04 Oracle 常用操作

2021-10-04 21:36:32 字數 4373 閱讀 5583

1、建立表空間

--設定自動擴充套件autoextend on next 100m --

create tablespace ***xx datafile 'd:/test/test.dbf' size 1g autoextend on next 100m maxsize unlimited;

2、建立使用者

--建立使用者--

create user user_name identified by password default tablesapce ***xx;

--授權--

--授予所有許可權--

grant all priveges to user_name ;

--授予資料庫連線許可權--

grant connect to user_name ;

--授予建立session的許可權--

grant session to user_name ;

--授予建立表的許可權--

grant create table to user_name ;

--授予刪除表的許可權--

grant drop table to user_name ;

--授予插入表/更新表的許可權--

grant insert/update table to user_name ;

--授予建立檢視的許可權--

grant create view to user_name ;

--授予建立檢視的許可權--

grant create view to user_name ;

--授予管理員許可權--

grant dba to user_name with admin option;

3、運算元據表

--資料匯出 包括lob欄位--

exp 使用者名稱/密碼@ip/sid file=c:\ ywptgl-2008-12-24.dmp(資料檔案路徑) owner=ywptgl(匯出該使用者的所有物件)

eg:exp ywptgl(使用者名稱)/ywptgl(密碼)@192.9.30.33/orcl(ip/sid) file=c:\ ywptgl-2008-12-24.dmp(資料檔案路徑) owner=ywptgl(匯出該使用者的所有物件)

--資料匯入--

imp ywptgl(使用者名稱)/ywptgl(密碼)@orcl(服務名) fromuser= ywptgl(檔案匯出使用者名稱) touser= ywptgl(新錶空間的使用者名稱) file=c:\ ywptgl-2008-12-24.dmp(資料檔案路徑)

--匯出指定表 teachers,students--

exp demo/demo@orcl file=d:\backup2.dmp tables=(teachers,students)

--按條件過濾匯出--

exp demo/demo@orcl file=d:\back.dmp tables=(table1) query=\" where filed1 like 'fg%'\" 

--新增壓縮--

exp demo/demo@orcl file=d:\back.dmp tables=(table1) query=\" where filed1 like 'fg%'\" compress=y

--新增日誌--

exp demo/demo@orcl file=d:\back.dmp tables=(table1) query=\" where filed1 like 'fg%'\"  log=d:\log.txt

--遠端伺服器備份--

exp 使用者名稱/密碼@遠端的ip:埠/例項 file=存放的位置:\檔名稱.dmp full=y

--還原到遠端伺服器--

imp 使用者名稱/密碼@遠端的ip:埠/例項 file=存放的位置:\檔名稱.dmp full=y

4、建立表

create table 表名稱 (

id varchar2(50) primary key ,--設定主鍵

name nvchar2(200) not null,--中文字段用

nvchar2 phone number(11) unique,--唯一值欄位

class carchar(10),

foreign key (name)

--複製表結構--

create table tablea select * from tableb  where 1>1;

--複製表結構和資料--

create table table1 select * from table2;

--複製指定欄位--

create table tablea as select  id, name from tableb  where 1>1;

5、刪除資料表

--刪除資料表,但可恢復--

drop table table_name

--恢復--

flashback table user_recyclebin.object_name [user_recyclebin.original_name] to before drop [rename to new_table_name];

--永久刪除,也稱為稱為級聯刪除 ,何相關檢視和完整性約束一併被刪除--

drop table table_name purge;

--刪除含有外來鍵的表--

drop table table_name cascade constraints;

6、清除資料表資料

--清除表內容,但不能直接刪除外來鍵,需要先取消外來鍵再刪除--

truncate table  table_name;

--釋放表空間--

alter table table_name deallocate unused keep 0; alter table emp deallocate unused keep 0;

--在清除資料時,一併**儲存空間--

truncate table table_name drop(reuse) storage;

7、常用應用

--新增主鍵約束(將stuno作為主鍵)--

alter table stuinfo add constraint pk_stuno primary key (stuno)

--新增外來鍵約束 (主表stuinfo和從表stumarks建立關係,關聯欄位stuno)--

alter table stuinfo add constraint fk_stuno foreign key(stuno) references stuinfo(stuno)

--新增唯一約束(身份證號唯一)--

alter table stuinfo add constraint uq_stuid unique(stuid)

--新增預設約束(如果位址不填 預設為「位址不詳」)--

alter table stuinfo

add constraint df_stuaddress default (『位址不詳』) for stuaddress

--新增檢查約束 (對年齡加以限定 15-40歲之間)--

alter table stuinfo

add constraint ck_stuage check (stuage between 15 and 40)

--新增表注釋:學生資訊表--

comment on table stuinfo 

is '學生資訊表';

--新增列名稱:學號--

comment on column stuinfo.stuid 

is '學號';

comment on column stuinfo.stuname

is '學生姓名';

8、字段型別

varcha2 ----0-4000,可變長度

char() ----0-2000,固定長度,用空格在資料的右邊補到固定長度

number(6,2) ---6位整數、2位小數

number(2) --2位整數

clob ---txt文字

date ---sysdate

04 Oracle儲存過程

1.建立表 create table t dept deptno integer key primary,dname varchar2 10 loc varchar2 50 2.插入資料 insert into t dept deptno,dname,loc values 10,研發部 北京 ins...

oracle 常用操作

表空間test1 create tablespace test1 datafile d oracledabase test1.dbf size 30m autoextend on next 30m maxsize unlimited logging extent management local 使...

Oracle常用操作

1 資料庫匯入匯出命令 exp 使用者名稱 密碼 192.168.2.121 1521 orcl file d 123.dmp log d 123.log exp 使用者名稱 密碼 192.168.2.121 1521 orcl file d 123.dmp full y 3 限制ip訪問資料庫 1...