Oracle基礎知識

2021-08-08 17:32:20 字數 4166 閱讀 8875

oracle基本划水知識

1.oracle 是乙個資料庫管理系統

啟動***服務:lsnrctl start

啟動資料庫服務: net start oracleserviceorcl

邏輯結構:資料庫 –> 表空間 –> 資料段 –> 資料區間 –> 資料段

進入資料庫:sqlplus 使用者名稱/密碼

切換使用者:conn 使用者名稱/密碼

系統管理員:sqlplus / as sysdba

修改密碼:alter user 使用者名稱 indentify by 密碼

2.特點:

①支援多使用者

②資料安全性和完整性

③支援分布式資料處理

④具有可移植性

3.sql語言:

ddl 資料定義語言 dml 資料操縱語言 tcl 事務控制語言

dcl 資料控制語言

4.表空間:

表空間是資料庫邏輯結構的乙個重要元件

①目的:方便管理 可以將不同的資料檔案建立到不同的磁碟中

②語法:建立 create tablespace 表空間名 datafile 」 autoextend 【on/off】

刪除 drop tablespace name

5.自定義使用者管理

sys system scott/tiger

6.資料庫管理許可權

create user t146 identified by 123456;

grant connect,resource to t146;

grant all on scott.dept to t146;

grant all on scott.emp to t146;

①系統管理許可權

create  session  連線到資料庫

create table 建立表

create view 建立檢視

create sequence 建立序列

②物件許可權

connect 連線資料庫 resource 可以建立表 觸發器 過程等 dba 資料庫管理員角色

賦予許可權:grant 許可權|角色 to 使用者名稱;

撤銷許可權:revoke 許可權|角色 from 使用者名稱;

7.序列

建立序列:

create sequence 序列名

[start with integer 生成第乙個序列號]

[increment by integer 序列號之間的間隔]

[maxvalue integer|nomaxvalue]

[minvalue integer|nominvalue]

[cycle 序列達到最大值或最小值後,將從頭開始生成值|nocycle]

[cache integer 預分配一組序列號,將其保留在記憶體中|nocache]

訪問序列:

nextval 第一次使用 返回該序列的初始值 用於增加序列值

currcal 返回序列的當前值

修改序列:

alter sequence 序列名

[increment by integer ]

[maxvalue integer|nomaxvalue]

[minvalue integer|nominvalue]

[cycle]

[cache integer ]

刪除序列:

drop sequence 序列名

使用序列

select 序列名 from ..

8.同義詞

相當於取別名 方便簡化sql語句

分類:

私有同義詞:

create synonym 同義詞名 for 表名

公有同義詞

create public synonym 同義詞名 for 表名

刪除同義詞

drop [public] synonym 同義詞名

私有同義詞與公有同義詞的區別:

私有同義詞只能在當前模式下訪問,且不能與當前模式的物件同名

公有同義詞可以被所有的資料庫使用者訪問

9.索引

分類:

b樹索引

create [unique] index 索引名 on 表名(列名)

反向鍵索引

create index 索引名 on 表名(列名) reverse

位圖索引

適用於每列的值很少的情況下

優點:①減少響應時間 ②占用空間明顯減少 ③效能提公升

create bitmap index 索引名 on 表名(列名)

刪除索引:

drop index 索引名

重建索引:

alter index 索引名 rebuild 索引型別

10.分割槽表:

分類:範圍分割槽 列表分割槽 雜湊分割槽 復合分割槽 間隔分割槽 虛擬列分割槽

範圍分割槽:

create table 表名(

… )

partiton by range (列)

( partiton 分割槽名 values less than (maxvalue ….);

); 間隔分割槽:

create table 表名(

… )

partiton by range (列)

interval( 分割槽 );

11.pl/sql

pl/sql是結合了oracle過程語言和結構化查詢語言的一種擴充套件語言

declare

變數名 資料型別 [:=值];

begin

語句段

end;

注釋:

單行注釋 – 多行注釋/**/

資料型別:

標量資料型別 lob資料型別 屬性型別

控制語句:

if語句:

if 條件表示式 then

end if;

case語句:

case 條件表示式

when 條件表示式結果 then

語句段when 條件表示式結果 then

語句段[else 語句段]

end case;

loop迴圈:

loop

要執行的語句;

exit when 條件語句

end loop;

for迴圈:

for 迴圈計數器 in [reverse] 下限..上限 loop

要執行的語句

end loop;

異常處理:

declare

變數名 資料型別 [:=值];

begin

語句段exception

when 異常情況 then

end;

12.游標:

方便資料在儲存過程的提取和資料的轉移

宣告游標

cursor 游標名 [(parameter,…)]

[return return_type] is 查詢語句

開啟游標

open 游標名[(parameter)]

提取游標

fetch 游標名 into 變數名

關閉游標

close 游標名

13.儲存過程:

建立儲存過程:

create [or replace] produre 儲存過程名 [引數列表]

[is|as]

[區域性宣告]

begin

可執行語句

end;

呼叫儲存過程:

exec 儲存過程名

儲存過程的訪問許可權:

grant execute on 儲存過程名 to 使用者名稱

revoke execute on 儲存過程名 from 使用者名稱 撤銷許可權

14.oracle與mysql的區別

①oracle是大型資料庫 mysql是小型資料庫

②oracle服務收費,mysql是開源的資料庫

③oracle支援大開發,大訪問量,是oltp最好的工具

④soracle占用空間較大,mysql占用較小

Oracle基礎知識

關於oracle的安裝過程這裡不再一一列出,網上有許多的安裝教程以及安裝過程所遇問題的解決辦法。通過學習所達到的目標如下 理解結構化查詢語句的作用 分類 理解select語句的作用 掌握選擇所有列 指定列 表示式 帶空值null 列別名 連線操作符 消除重複行的sql語句書寫方法。結構化查詢語言 s...

oracle基礎知識

1.檢視所有使用者 select from dba user select from all users select from user users 2.檢視使用者系統許可權 select from dba sys privs select from all sys privs select fr...

Oracle基礎知識

1.建立乙個和其他表結構相同的sql create table t ref as select from apas info create table t ref as select from apas info create table t as select from apas info ins...