1. 程式人生 > >Oracle教程第三篇

Oracle教程第三篇

一、持久化

1. 持久化包括讀和寫。
2. 資料存在於 表中 --> 表空間 --> 例項 --> 資料庫
3. 持久化步驟:
3.1.建立表空間。
3.2.建立自己的資料檔案。
3.3. 建立使用者。
3.4. 登陸自己的使用者開始建立表。
3.5. 為了確保資料準確性 -->約束 。
3.6. 增刪查改。
4.誰能建立表空間。
4.1.system資料層面的DBA
4.2.sys 運維超級管理員,保證例項的執行。

二、建立表空間

1.語法。
create tablespace spc_test002
datafile 'D:\ datafiles\test_002.dbf ,D:\ datafiles\test_002_01.dbf '
size 30M
autoextend on(開啟) --->正常情況要關閉,假如以後這個資料庫廢棄,自己會越來越大。
next 10M; 關閉時不寫
2.刪除表空間。
drop tablespace spc_test002 including contents AND datafiles;

三、建立使用者

1.場景
用來操作表空間。
2.語法
create user test002
identified by orcl
default tablespace spc_test002;
3.注意
3.1. 沒有指定表空間的使用者,會自動放到user的表空間中,這個表空間是自動增長的
3.2. 新建立的使用者,是沒有任何許可權的,oracle 是非常安全的 注重許可權管理
3.3. 因為許可權過多 賦予許可權的時候不好操作,所以oracle 設定好了,直接賦予就行
空空空空 1.connect。一般使用者,只有登陸查詢許可權。

空空空空 2.resource。更為正式的角色,可以增刪該查,一般是程式設計師擁有。
空空空空 3.dba。dba許可權,很厲害,所以不用。

四、賦予許可權

1.語法
grant connect,resource to test002.
2.收回許可權
revoke connect ,resource from test002。

五、驗證當前使用者

1.視窗最上面(標題欄)寫著。
2.檢視某個使用者下有幾張表。
空空空 select * from user_tables;

六、建立表,進行資料操作

1. 資料型別,大體分四類。
1. 數值型別
空空空 1)number(p,s)
空空空空空 p 代表有效位數從左數,去掉第一個不為0的數
空空空空空 s代表 小數位
2. 字元型別。
空空空 1)varchar2 和 nvarchar2
空空空空空 varchar2 (1) 1位元組 男 存不了
空空空空空 nvarchar2(1) unicode編碼 男.length() ==1
空空空空空 面試題:varchar2(1) nvarchar2(1) 哪個能存字
3. 日期型別。
空空空空空 1)date 毫秒 timestamp 毫秒加3
4. 檔案型別。
空空空空空 1)lob clob(大檔案)
空空空空空 2)BLOB(大檔案) 單條儲存4G 以內的檔案。
2. 語法。
2.1. 建立人類表。
空空空空空 create table person (
空空空空空空空空空 pid number(11),
空空空空空空空空空 pname varchar2(64),
空空空空空空空空空 gender number(1), -- 0代表女,1代表男
空空空空空空空空空 birthday date
空空空空空k )

七、DDL

1. 表修改。
空空 1.1.語法。
空空空空空 alter table person add (
空空空空空空空空空 address nvarchar2(512) ;
空空空空空k )
2. 刪除表。
空空 1.2.複製表,約束不會複製
空空空空空 create table p1 as select * from person;
空空 1.3.刪除表
空空空空空 drop table p1。
3. 修改表。
空空 3.1.語法。
空空空空空 alter table person modify (name varchar2(128));

八、新增約束

1. 約束是把雙刃劍降低資料靈活性,慎用,資料的約束應該在service 層。
2. 主鍵約束。
2.1.特點
空空空 非空且唯一
2.2.語法。
空空空空空 alter table person add constraint pk_pserson_pid primary key(pid);
3. 非空約束。
3.1.特點
空空空 欄位不能為null
3.2.語法。
空空空空空 alter table person modify(name varchar2 (128) not null)
4. 唯一約束。
4.1.特點。
空空空 不能重複。
4.2.語法。
空空空空空 alter table person modify (name varchar2(128) unique)
5. 檢查約束。
5.1.特點。
空空空 檢查某個欄位的值是否符合要求。
5.2.語法。
空空空空空 alter table person add constraint ck_person_gender check(
空空空空空空空空空空 gender in (0,1)
空空空空空 )
6. 外來鍵約束
6.1.特點。
空空空 主鍵表和外來鍵表的資料約束。
6.2. 語法。
空空空空空 alter table [外來鍵表名] add constraint fk_od_orderid foreign key
空空空空空空空空 (order_id) reference orders(order_id) ;

第四篇傳送門