(一)
1.表空間:實質是一種組織數據文件的途徑,表空間包含表,字段,索引等,一個物理文件對應一個表空 間.
2.表空間分類:
(1)目錄表空間
(2)常規表空間
(3)系統表空間
(4)用戶臨時表空間
(5)undo表空間
3.創建表空間rb_segs:
create tablespace rb_segs
datafile '存儲路徑'
size 50M
autoextend on --自動增長
maxsize 1024M --最大增長值
Uniform size 64k; --區間大小
4.創建臨時表空間temp;
create temporary tablespace temp
tempfile '存儲路徑'
size 50M;
5.修改表空間
(1)修改表空間爲默認表空間
alter user 用戶名 default tablespace 表空間名;
(2)給表空間增加10MB;
alter tablespace 表空間名 add datafile '路徑' size 10MB;
(3)修改表空間的狀態
alter tablespace 表空間名 offline/online; --邏輯文件
alter tablespace 表空間名 datafile offline/online; --物理文件
6.刪除表空間及其所有的段:
drop tablespace 表空間名 including contents;
7.數據字典:
(1)dba_data_files:實例中所有數據文件和表空間的信息
(2)dba_tablespaces:表空間的信息
(3)dba_free_space:表空間的空閒空間信息
8.oracle數據類型
(1).數字數據類型:number(p,s), p:精度,最大38位; s:表示刻度範圍
(2).字符數據類型:
[1].char(L),無值時,以空格填充,L爲字符串,缺省爲1,作爲變量最大爲32767個字符,在數據 存儲oracle8中最大爲2000;
[2]varchar2(L):無值時,不會用空格填充,L爲字符串,無缺省值,作爲變量最大爲32767個字 符,,在數據存儲oracle8中最大爲4000;
[3]Long數據類型:可以保存高達2G的數據,作爲變量,可以表示一個最大長度爲32760字節的可 變字符串.
(3)date數據類型:用來存儲日期和時間格式的數據
(4)lob數據類型:數據類存儲非結構化數據,如:二進制文件,圖形文件,或其他外部問價,可以存儲 到4G字節大小
[1]CLOB:字符型數據
[2]BLOB:二進制數據
[3]BFILE:二進制文件
9.DDL數據定義語言:用來改變數據庫結構,包括創建,修改,刪除數據庫對象.
(1)數據庫表是一個以行和列的形式存放數據的存儲單元,用來定義表的數據定語言有:
[1]create table 創建表
[2]alter table 修改表
[3]truncate table 截斷表
[4]drop table 刪除表
10.DML數據操縱語言:用於檢索,插入和修改數據庫信息
(1)Select 檢索
(2)insert 插入
(3)update 修改
(4)delete 刪除
11.DCL數據控制語言:爲用戶提供權限控制命令
(1)grant 授權
(2)revoke 撤銷
12.索引:[1]邏輯索引:
(1)單列索引
(2)組合索引
(3)唯一性索引
(4)非唯一性索引
(5)函數索引
[2]物理索引:
(1)分區索引
(2)飛分區索引
(3)B樹索引
(4)正向索引
(5)反向索引 reverse
(6)位圖索引 bitmap
13.創建索引:
create [unique] index 索引名
on 表名(列名1,列名2...)
where 條件
(1)例如:創建唯一索引
create unique index 索引名 on 表(列名);
(2)創建位圖索引
create bitmap index 索引名 on 表(列名);
14.修改索引:
(1)重建索引
alter index 索引名 rebuild;
(2)合併索引
alter index 索引名 coalesce;
15.刪除索引
drop index 索引名;
16.創建視圖:視圖是查詢一個或多個表的select語句的描述(可以把視圖看成一張虛擬表)
create [or replace] view 視圖名
as
select 語句...
17.刪除視圖:(具有drop view和drop any view權限的用戶才能使用drop view刪除視圖)
drop view 視圖名;
18.同義詞:
(1)私有同義詞(只能被當前模式的用戶訪問)
(2)公有同義詞(可以被所有的數據庫用戶訪問)
19.創建同義詞語法:
create [or replace] [public] synonym 同義詞名
for 對象
(1)例如:創建私有同義詞
create synonym myemp for scott.emp;
使用:select * from myemp;
(2)創建公有同義詞
create public synonym public_name for scott.emp;
使用:select * from public_name;
20.刪除同義詞:
drop [public] synonym 同義詞名;
21.序列是一數據庫對象,利用它生成唯一的整數.
(1)創建序列:
create sequence 序列名
[increment by n] --增量
[start with n] --起始值
[maxvalue n | nomaxvalue] --最大值
[minvalue n | nominvalue] --最小值
[cycle] --循環
[cache n]; --緩存
22.使用序列:
(1)currcal:返回序列當前的值
(2)nextval:返回序列下一個值
注意:(3)先執行nextval,在執行currval;
例如:插入數據使用序列
insert into employee(emp_id,emp_name) value(my_seq.nextval,'張三');
查看當前的值:select my_seq.currval from dual;
23.更改序列:
alter sequence 序列名
[increment by n] --增量
[start with n] --起始值
[maxvalue n | nomaxvalue] --最大值
[minvalue n | nominvalue] --最小值
[cycle] --循環
[cache n]; --緩存
24.刪除序列:
drop sequence 序列名;