黑馬程序員Oracle數據庫精講,從0到1學會Oracle數據庫

---------------------------第1章---------------------------

-分布式數據庫
-支持分布式處理功能
-可移植性(Windows→Linux)
-VMware (Oracle一般裝在服務器上 Windows server 2003,其他遠程調用)
-服務器版操作系統(tǒng)
-掛載:運行VMware→運行Windows server 2003 .vxm
-本地連接 物理網卡
-虛擬網卡 本地與虛擬機內部網絡連接
-安裝VMware后自動創(chuàng)建虛擬網卡VMnet0 VMnet8
-連接模式:

橋接模式:
-本機和虛擬機中服務器在同一個局域網,但計算機需要網線與交換機相連
僅主機(推薦配置):
-本地計算機和虛擬機中計算機用一根網線相連,不用插網線,不受外部網絡環(huán)境影響
NAT模式:
-虛擬機操作系統(tǒng)與本地計算機共享一個IP地址,本地計算機和虛擬機內計算機無法通信
-子網IP可更改
操作系統(tǒng)與新建虛擬網卡綁定
安裝Oracle數據庫
Oracle 10g
體系結構:
-一套oracle可以有多個實例(支持,較少涉及)
-表空間:一個或多個數據文件的邏輯稱呼


-只有oracle有表空間的概念
-命令行遠程連接SQL(一般DBA使用,調優(yōu)使用)->可視化工具(多數屬于第三方工具, PLSQL+developer)
-配置:不具備遠程連接oracle功能,需配置
-中文亂碼問題:配置環(huán)境變量 SQL查詢服務器編碼,環(huán)境變量中配置即可(需要時見視頻,重新進入)

<自來水公司收費系統(tǒng)>


-實際是創(chuàng)建數據文件
-語句:create tablespace
-objects 里有一個 “tablespaces”的文件夾,可以查看所有表空間信息

-語句:create user

-一個表空間里可以建立多個用戶
-添加用戶后,還需要添加權限

-創(chuàng)建表:primary keyz->主鍵
-語句與MySQL一致

-數據類型:字符型、數值型、日期型、二進制型(大數據類型)



-右側objects中的tables節(jié)點保存所有表,可查看表結構
->可以右鍵tables,點擊new,可視化創(chuàng)建表;右鍵表名稱選擇edit可編輯已創(chuàng)建的表
-修改表:增加字段、修改字段、修改字段名、刪除字段名




-刪除表:

-插入數據:(與MySQL一致)
->不寫列名,即插入全部列
->執(zhí)行語句后,需要提交事務(commit)后才正在插入至表中;或手寫“commit;”再執(zhí)行,即可直接提交

-修改數據:
->需提交事務

-刪除數據:
->需提交事務,刪除一條語句
->delete from可以回滾(移動數據值回滾段,效率低);truncate不可回滾(重建表結構,直接刪除表)


-了解
-orcl 實例名稱
-DBA 數據庫遷移

-整庫/指定文件導出 EXP:
將整個數據庫導出成一個文件(默認EXPDAT.DMP,純二進制文件),服務器級別操作命令(服務器命令行操作)

-整庫/指定文件導入 IMP:
->存在對象則跳過,存在表導入失敗,不會覆蓋數據操作,有表就不行



-根據用戶找表
----------------------------第2章-----------------------------
<中間部分直接看視頻學習 ,未記筆記.. 有比較重要的>
- 字符函數(部分 其余自行了解)
-length
-select必須跟from,提供“偽表 dual”補充語法
select length(‘ABCD’)from dual
-字符串截取 substr(原字符串,從第幾位截取,截取字符數) ;從1開始
-select concat('ABC','D') from dual
-只能一次拼接兩個字符串,多時嵌套
-推薦字符串拼接符('+'只針對數字,'||'針對字符串):
select 'ABC' || 'D' from dual
-select round(100.456,2) from dual -> 保留兩位小數,100.47
默認保留整數,添加參數設置保留位數
-select trunc(100.567,2) from dual ->100.56
-select mod(10,2) from dual
-select add_months (sysdate,2) from dual
-參數為負數即為減月
-select last_day(sysdate) from dual
-默認按日截取
-按月截取
select trunc(sysdate,'mm') from dual
-select to_char(100) from dual
-按格式轉換select to_char(sysdate,'yyyy-mm-dd') from dual
-查詢常用
select to_date('2022-12-23','yyyy-mm-dd')from dual
to_number('100')...
-nvl , nvl2(檢測的值,如果不為null的值,如果為null的值)

-條件判斷
14-18待學習 - 遇到使用該函數時在學習即可
------------------------------------------------------------------------------------------------------------------------
三、oracle對象
1.視圖
-oracle對象:表、視圖、存儲對象..
-什么是視圖(基本上所有的數據庫產品都有視圖):一虛擬表(一條語句),基于它創(chuàng)建時指定的查詢語句返回的結果集
1)一種虛擬的表,封裝SQL語句,再次查詢結果時,直接查詢該視圖即可
2)優(yōu)點:簡化數據操作(與表的使用方法一致);著重于特定數據(不必要的數據或敏感數據可以不出現在視圖中),定制不同用戶對數據的訪問權限(可設置為只讀);提供向后的兼容性




-先寫select語句
-創(chuàng)建后生成至左側objects中的views節(jié)點下

-修改視圖中的數據等于修改表的數據,視圖為虛擬表,引用的均為基表;相反也一樣;視圖占數據庫位置僅為一條SQL語句大?。?div id="s0sssss00s" class="ql-tag-blot">?
-創(chuàng)建視圖語法中特殊參數 with check option
-無法修改已創(chuàng)建的帶檢查約束的視圖;無法修改條件值(where后的),其他字段名稱等可修改

-with read only 只能查無法修改

-select 語句有誤,比如沒有基表存在;關鍵字force,views節(jié)點帶紅色×,允許先建立視圖,后續(xù)基表生成后視圖即可成立

-復雜視圖:視圖的SQL語句中有聚合函數或多表關聯查詢

-修改復雜視圖(多表關聯)的數據:允許,且基表也被修改;?多表關聯中有基表屬于鍵保留表 (把主鍵保留下來的那個表),只能修改鍵保留表的數據?
-最后產生視圖需要每個類都有別名

-不可修改聚合統(tǒng)計列的數字;聚合統(tǒng)計沒有鍵保留表;且建不建只讀表均不可以修改
2.物化視圖
-視圖實體化(定義見下圖):會建立副本,占用存儲空間;物化視圖相當于查詢單表,不再多表關聯,提高查詢效率

-語法:materialized

again