Oracle教程第三篇
阿新 • • 發佈:2019-01-12
一、持久化
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) ;