1/數(shù)據(jù)庫 解決的問題是 數(shù)據(jù)的實時性與同步性 數(shù)據(jù)統(tǒng)一管理的問題
2/數(shù)據(jù): 描述事物的符號記錄 稱之為數(shù)據(jù)
3/數(shù)據(jù)是數(shù)據(jù)庫中存儲的基本對象
4/數(shù)據(jù)庫是長期存儲在計算機內(nèi)有組織,可共享,的數(shù)據(jù)集合,數(shù)據(jù)庫一定建立在 操作系統(tǒng)之上 數(shù)據(jù)庫一定要有磁盤控制
5/數(shù)據(jù)庫 數(shù)據(jù)結(jié)構(gòu)化 數(shù)據(jù)共享性
6/數(shù)據(jù)模型 概念模型 物理模型
概念模型:實體 屬性 key
表關(guān)系:一對一 一對多(一個部門多個學(xué)生) 多對多(學(xué)生選課)
7/關(guān)系數(shù)據(jù)模型:
8/oracle服務(wù) 包括:監(jiān)聽服務(wù) 與 實例服務(wù)
監(jiān)聽服務(wù):通過遠程客戶端連接數(shù)據(jù)庫或者直接通過程序來操作數(shù)據(jù)庫必須打開
實例服務(wù):本身是一個平臺 會有很多個數(shù)據(jù)庫,每一個數(shù)據(jù)庫都會有一個oracleserviceSid
9/格式化命令:setlineSize 10 ;設(shè)置每行10個字
setpagesize 10;設(shè)置每頁10行;
10/切換用戶
conn 用戶名 密碼 [ as sysDba]
11/查看當(dāng)前用戶:show user
12/查詢另外一個用戶名下的表
select * from c##scott.emp;
13/ oracle與mysql 用戶方面的區(qū)別
(1)oracle是以數(shù)據(jù)庫為中心,一個數(shù)據(jù)庫就是一個域(可以看作是一個文件夾的概念)雹顺,一個數(shù)據(jù)庫可以有多個用戶露筒,創(chuàng)建用戶是在登陸數(shù)據(jù)庫之后進行的易稠,但是有表空間的概念
(2)而mysql和sqlserver相反致讥,是以用戶為中心,可以有多個用戶幻梯,用戶登陸后可以創(chuàng)建所需要的數(shù)據(jù)庫算行,可以創(chuàng)建多個數(shù)據(jù)庫,沒有表空間的概念
ORACLE一般過程是先建sid(數(shù)據(jù)庫名)郑诺,再建表空間夹姥,再建用戶,給用戶分配剛建的表空間辙诞!最后建表辙售!
一個數(shù)據(jù)庫可以有多個實例,在作數(shù)據(jù)庫服務(wù)集群的時候可以用到飞涂。
Oracle數(shù)據(jù)庫是通過表空間來存儲物理表的旦部,一個數(shù)據(jù)庫實例可以有N個表空間,一個表空間下可以有N張表较店。
有了數(shù)據(jù)庫士八,就可以創(chuàng)建表空間。表空間(tablespace)是數(shù)據(jù)庫的邏輯劃分.
14/給列名起別名 as 別名盡量用英文 可以進行簡單的四則運算
15/ || 進行字符串拼接 查詢語句中出現(xiàn)的字符串必須用"" 括起來
16/ 限定查詢
A/where字句后面的邏輯運算 and or not 執(zhí)行順序 from-->where-->select
B/關(guān)系運算符 < / > / >= 等 區(qū)分大小寫
enamel="SMITH" between and
C/where字句中 null 值得判斷 where a is null /where a is not null
D/ 查詢范圍 in / not in
在Oracle中泽西,not in (...) 括號中的返回值不能存在null值曹铃,如果不能確定返回結(jié)果一定無null值,還是改為not esists吧捧杉。而且not in效率低下陕见,一般不能用到索引忿薇,生產(chǎn)環(huán)境的程序最好不要使用父叙。
E/like === not like %:任一位 _:一位
16/order by 執(zhí)行順序在select 之后 可以使用select字句中的設(shè)置的別名 可以多個條件 order by sal desc ,date asc
17/內(nèi)連接 外鏈接
18/交叉連接--產(chǎn)生笛卡爾積
19/自然連接
20/using字段應(yīng)用
21/on字句的應(yīng)用
22/外鏈接
23/連接總結(jié)
24/子查詢
25/having子句 一般會出現(xiàn)在group by 后面
26/from 子句中用子查詢