Oracle資料庫學習: 01.資料庫簡介: (1)文件型資料庫: Access Office組件: Foxpro (2)NoSql資料庫(泛指非關係型資料庫): NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的資料庫革命性運動,早期就有人提出,發展至2 ...
Oracle資料庫學習:
01.資料庫簡介:
(1)文件型資料庫:
Access Office組件:
Foxpro
(2)NoSql資料庫(泛指非關係型資料庫):
NoSQL(NoSQL = Not Only SQL ),意即“不僅僅是SQL”,是一項全新的資料庫革命性運動,早期就有人提出,發展至2009年趨勢越發高漲。NoSQL的擁護者們提倡運用非關係型的數據存儲,相對於鋪天蓋地的關係型資料庫運用,這一概念無疑是一種全新的思維的註入。
Mencache
MongoDB
Redis
(3)關係型資料庫:
SqlServer
MySql
Oracle
Oracle是什麼?
解析:Oracle是一款關係型(二維表)資料庫,可以用來存儲海量數據,在大數據併發的情況下,性能要高於其他的同類資料庫產品,一般運行環境是Linux和Unix操作系統。
資料庫系統和數據管理系統的區別?
資料庫系統=資料庫的管理系統+oper操作員+硬體
2.Oracle的版本
8i /9i 10g/11g 12c(cloud)
3.Oracle主要組件
4.實例和資料庫的關係
實例:資料庫服務啟動後,在記憶體中的單元。
資料庫:硬碟上的文件,物理介質硬碟
5.資料庫的核心部件
PGA:
SGA:
DBWR(數據的讀取和寫入)
LGWR(日誌文件的讀取和寫入)
SMON(清理臨時表空間)
PMON(異常中斷之後的清理,處理和釋放資源)
CKPT(檢查點,保證資料庫的一致性,這是指將臟數據寫入到硬碟,保證記憶體和硬碟上的數據是一樣的)
6.監聽文件的位置
app--->Happy(用戶名)----》product-----》NETWORK------》 ADMIN----->listener.ora
7.伺服器開啟順序
先監聽,再資料庫服務
@echo
net start OracleOraDb11g_home1TNSListener
net start OracleServiceORCL
@pause
8.資料庫用戶
sys:超級管理員 管理普通的管理員和普通用戶
System:普通管理員
scott:要解鎖,才能使用
在第一種情況下,以system賬戶+自己安裝時設置的密碼,登錄SQL Plus,
然後使用命令“alter user scott account unlock;”來解鎖。
解完以後,使用下麵的命令來查看:"select username,account_status from dba_users;",
可以看到scott賬戶已經解鎖,但是狀態還是“expired”(密碼過期)的意思。
沒關係,再輸入這樣的命令“alter user scott identified by tiger;”,就給其賦了一個新的口令。
退出,以scott/tiger登錄即可。
在第二種情況下,使用Windows的控制台(程式|運行,輸入cmd打開)。在命令行下,輸入sqlplus/nolog,回車,出現SQL>命令提示符,然後按下麵的順序輸入命令:
SQL>conn/as sysdba
SQL>alter user scott account unlock;
SQL>disconnect
SQL>conn scott/tiger@oral;
這時會提示密碼已經過期,請輸入新的口令。然後輸入兩次新定義的口令分別回車確認即為scott賬戶賦予了新的口令。打開SQL Plus,再以scott賬戶就可以登錄了。
9.數據類型
字元串: Nvarchar2
數字:number
日期和時間: Date
大二進位類型: BLOB
大文本類型:CLOB類似於SQL Server中的Test或者是nvarchar(max)
10.Oracle中是根據用戶隔離表的
預設情況下,當前登錄的用戶只能看到自己創建的表
11.創建一個用戶給它授權,建立一個表
--創建一個用戶 create user happy2165 identified by happy2165 --許可權 --身份:新員工 100 grant connect to happy2165 grant RESOURCE to happy2165 --建立一張數據表 create table userinfo (id number primary key not null)
12.如何查看該用戶管理者的所有表?
select * from all_tables where owner='HAPPYY2165'
13.偽列 rowid rownum
select id,rowid,rownum from userinfo
commit
14.如何查詢userinfo表中自然順序的第3條記錄?
select *
from(
select id,rownum rn from userinfo
)temp
where rn=3
15.
--獲取前n條數據的案例
--問題:獲取教師表中的薪水排名第 3的教師信息?
select *
from(
select temp.*, rownum rn from(select ename,sal from userinfo order by sal desc)temp
where rownum<3
)
where rn>=2
select * from
(select userinfo.*,rownum rn from userinfo
)temp
where rn>2
(從高到底)