Oracle基礎2

DDL數(shù)據(jù)定義語言

表空間:是實例分配的一塊空間

語法:create tablespace demo01

datafile ‘c:\demo01.dbf’

size 100M

autoextend on

next20M;

普通用戶沒有權(quán)限創(chuàng)建表空間,需要用system用戶來創(chuàng)建;

創(chuàng)建表空間后,還需要用管理員創(chuàng)建用戶;

語法:create user user1 identified by test default tablespace demo01;

創(chuàng)建用戶后,需要管理員對用戶進行授權(quán)管理;

語法:grant 權(quán)限名 to 用戶;

權(quán)限分類:connect(連接)、redources(普通操作權(quán)限)、dba(管理員操作權(quán)限);

然后,測試用戶登錄;

-------------------------------------------------------------------------------------------------


Oracle數(shù)據(jù)庫的數(shù)據(jù)類型:

int 整數(shù)

double 小數(shù)

number(v1,v2) v1表示數(shù)字的總長度,v2表示小數(shù)位數(shù)

char(v1) 固定長度字符

varchar(v1) 可變字符長度

varchar2(v1) 可變字符長度

clob 大文本字符4G大小

blob 二進制字符4G大小

long 長文本2G大小

date 年月日時分秒

datetime 精確的年月日時分秒毫秒微秒納秒

---------------------------------------------------------------------------------------------------


Oracle的約束

主鍵約束 primary key

外鍵約束 foreign key

非空約束 not null

唯一約束 unique

檢查約束 check (如: check gender in (1,0))

約束語法:

constraint 約束名稱 primary key(主鍵列);

constraint 約束名稱 foreign key(從表列)

references 主表(主表列);//添加在從表;

Oracle事務需要手動選擇提交或回滾;

---------------------------------------------------------------------------------------------------


更改表結(jié)構(gòu):

增加字段:alter table 表名 add (列 數(shù)值類型);

修改字段:alter table 表名 modify (列 數(shù)值類型);

重命名字段:alter table 表名 rename colunm 舊列名 to 新列名;

刪除字段:alter table 表名 drop column 列名;

DML數(shù)據(jù)操作語言

插入數(shù)據(jù):insert…into…values (…);

修改數(shù)據(jù):update…set…where…;

刪除數(shù)據(jù):delete from…where…(逐條刪,效率低)、truncate…(摧毀表結(jié)構(gòu),重建表結(jié)構(gòu),不能加條件);

創(chuàng)建表的同時,備份表的數(shù)據(jù)

create table emp as select * from scott.emp;

---------------------------------------------------------------------------------------------------


事務:

read commited: Oracle默認事務隔離級別;

serializable: 序列化,逐條讀;

read only: 只讀;

事務的保存點:

意義:為了保證執(zhí)行成功的任務能夠提交成功;

語法:savepoint 保存點名稱;

事務保存點的用法:

執(zhí)行SQL語句1;

savepoint 保存點名稱;

執(zhí)行SQL語句2;

rollback to 保存點名稱;

commit;

---------------------------------------------------------------------------------------------------


Oracle數(shù)據(jù)庫的幾個特有對象

1.視圖:一個虛擬表,有數(shù)據(jù),但不存放數(shù)據(jù),來源于原始表

? ? 意義:為了數(shù)據(jù)安全

? ? 語法:create view emp_view as select empno,ename,job from emp…;

? ? 查詢視圖:select * from emp_view;

? ? 注意:修改視圖中的數(shù)據(jù)將影響原始表的數(shù)據(jù),要想在修改視圖中的數(shù)據(jù)時,不對原始表數(shù)據(jù)進行更改,需要在創(chuàng)建視圖時,對視圖進行with read only限定;

2.序列:是Oracle數(shù)據(jù)庫生成一系列的數(shù)值(1,2,3,4…);

? ? 意義:實現(xiàn)id的自增長

? ? 屬性:nextval下一個值

? ? ? ? ? ? ? currval當前值

? ? 語法:create sequence序列名

? ? 示例:create sequence seq_person;

? ? 注意:先生成再使用,即必須先調(diào)用nextval才能查詢currval;

3.索引:數(shù)據(jù)量大的情況下才使用

? ? 意義:大幅提升查詢速度(100倍左右);

? ? 語法:create index ind_person on person(列名);

? ? 注意:建在重復值盡量少的列上,可以加1個,也可以加多個(復合索引);

? ? 加完之后可以直接執(zhí)行查詢語句;

4.同義詞:為對象起別名;

? ? 意義:為了數(shù)據(jù)的安全,細分權(quán)限;

? ? 語法:create synonym同義詞名for scott.dept;

? ? 用法:select * from同義詞名;

---------------------------------------------------------------------------------------------------


數(shù)據(jù)的導入和導出

? 意義:數(shù)據(jù)的備份和還原,數(shù)據(jù)庫或服務器的遷移;

方式:命令行和PLSQL工具

命令行:

? ? 導出:

? ? ? ? 全庫導出:exp用戶名/密碼file =‘路徑’ full = y;

? ? ? ? 按用戶導出:exp用戶名/密碼owner=用戶名file =‘路徑;

? ? ? ? 按表導出:exp用戶名/密碼file = ‘路徑’tables =表名1,表名2…;

? ? 導入:將上述命令中的exp換成imp即可;

PLSQL工具:

? ? ExportUser Object;//只能導出表結(jié)構(gòu),不能備份數(shù)據(jù);

? ? ExportTables;//導出數(shù)據(jù)三種格式:dmp(Oracle數(shù)據(jù)庫特有格式,必須有服務器對應的軟件,通用)、sql(導出.sql文件,但不能刪除原表,否則不能還原)、pde(圖形化工具格式);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容

  • 1.簡介 數(shù)據(jù)存儲有哪些方式?電子表格,紙質(zhì)文件,數(shù)據(jù)庫。 那么究竟什么是關系型數(shù)據(jù)庫? 目前對數(shù)據(jù)庫的分類主要是...
    喬震閱讀 1,776評論 0 2
  • 一、源題QUESTION 74View the Exhibit. You want to create a tab...
    貓貓_tomluo閱讀 1,550評論 0 1
  • 一、源題QUESTION 1The instance abnormally terminates because ...
    貓貓_tomluo閱讀 1,652評論 0 2
  • Oracle入門 這一章我們開始探討Oracle的使用,從Oracle的介紹開始,接觸Oracle的安裝、基本服務...
    厲鉚兄閱讀 5,593評論 4 104
  • 星期六還要爬起來,去趕加班,毫無意義的毫無效率的常態(tài)加班,但卻是領導評價績效的指標之一,卻無能反駁! 害怕熬了那么...
    岸蘭汀芷閱讀 197評論 0 0