工具/材料
烏當(dāng)網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
ORACLE SQL Developer
01
首先我們打開ORACLE SQL Developer工具,來看一下我們接下來要操作的表的結(jié)構(gòu),如下圖所示
02
然后先執(zhí)行的是數(shù)據(jù)的插入操作,在ORACLE中,插入數(shù)據(jù)用insert語句,如下圖所示
03
如果查詢數(shù)據(jù)就需要使用select語句了,如下圖所示,運用select語句的時候可以指定列名
04
接下來看一下如何更新數(shù)據(jù),在Oracle中更新數(shù)據(jù)可以運用update語句,如下圖所示,更新的時候需要限定更新條件
05
在進行更新的時候,如果你沒有指定更新條件的話,那么就會進行全表數(shù)據(jù)的更新,如下圖所示
06
接下來看一下數(shù)據(jù)的刪除操作,刪除操作運用delete語句即可,需要通過where條件指定刪除哪些數(shù)據(jù),如下圖所示
07
最后要提醒大家,如果進行刪除的時候不指定where條件的話,就會把整張表的數(shù)據(jù)都刪除掉了,如下圖所示
oracle數(shù)據(jù)庫中函數(shù)較多,而且每個函數(shù)都有自己的用法,所以要根據(jù)具體的函數(shù)查詢具體的使用方法,比如:
decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
這個函數(shù)運行的結(jié)果是,當(dāng)字段或字段的運算的值等于值1時,該函數(shù)返回值2,否則返回值3
當(dāng)然值1,值2,值3也可以是表達式,這個函數(shù)使得某些sql語句簡單了許多
使用方法:
1、比較大小
select decode(sign(變量1-變量2),-1,變量1,變量2) from dual;
--取較小值
sign()函數(shù)根據(jù)某個值是0、正數(shù)還是負(fù)數(shù),分別返回0、1、-1
例如:
變量1=10,變量2=20
則sign(變量1-變量2)返回-1,decode解碼結(jié)果為“變量1”,達到了取較小值的目的。
2、此函數(shù)用在SQL語句中,功能介紹如下:
Decode函數(shù)與一系列嵌套的
IF-THEN-ELSE語句相似。base_exp與compare1,compare2等等依次進行比較。如果base_exp和 第i
個compare項匹配,就返回第i 個對應(yīng)的value
。如果base_exp與任何的compare值都不匹配,則返回default。每個compare值順次求值,如果發(fā)現(xiàn)一個匹配,則剩下的compare值(如果還有的話)就都不再求值。一個為NULL的base_exp被認(rèn)為和NULL
compare值等價。如果需要的話,每一個compare值都被轉(zhuǎn)換成和第一個compare 值相同的數(shù)據(jù)類型,這個數(shù)據(jù)類型也是返回值的類型。
1.MERGE 判斷table1和table2是否滿足ON中條件,如果滿足則用table2表去更新table1表,如果不滿足,則將table2表數(shù)據(jù)插入table1表但是有很多可選項,表關(guān)聯(lián)更新
MERGE? INTO table1 a
USING(
select b.id bid,b.name bname from table2 b left join table1 c on c.id = b.id
)bb on(a.id = bb.bid)
WHEN MATCHED THEN
UPDATE SET
a.name = bb.bname
WHEN NOT MATCHED THEN
INSERT(
a.id,a.name
)VALUES(
bb.bid,bb.bname
);
2.START WITH... CONNECT BY PRIOR...的作用,簡單來說,就是將一個樹狀結(jié)構(gòu)存儲在一張表里,比如菜單表
select * from table_menu start with menu_id='210' connect by prior menu_id=menu_parent_id;
查詢菜單id為210下所有子菜單包括id為210的菜單。
3.OVER(PARTITION BY)根據(jù)表中字段分割后在排序取第一條
select * from (select r.*, row_number() over(PARTITION BY 字段1,字段2 order by 字段3 desc) rn
from table1 r
) where rn = 1;
4.MINUS 表之間比較
select? id,name from table1
minus
select id,name from table2;
table1中有table2中無或者table1中id,name與table2中不同
先確認(rèn)oracle服務(wù)器上oracle如下截圖中標(biāo)紅的相關(guān)的服務(wù)是否已經(jīng)正常啟動。
請點擊輸入圖片描述
要斷開數(shù)據(jù)庫的所有連接,如果數(shù)據(jù)庫中有正在連接客戶端,備份的時候可能會出現(xiàn)異常,比如PLSQL的連接先退出一下。
請點擊輸入圖片描述
在開始菜單中輸入“cmd”命令后回車,打開dos命令窗口,如下截圖1和2所示。
請點擊輸入圖片描述
請點擊輸入圖片描述
在cmd窗口中,輸入以下命令:
exp 用戶名/密碼@SID file=d:\xx.dmp owner=用戶名,按下回車鍵,界面如下截圖所示。
請點擊輸入圖片描述
導(dǎo)出的時間是根據(jù)數(shù)據(jù)庫的大小決定的,如果數(shù)據(jù)庫中表比較多,數(shù)據(jù)量比較大速度就會比較慢,請耐心等待。當(dāng)數(shù)據(jù)完成導(dǎo)出之后,cmd窗口中會出現(xiàn)如下圖所示的提示語,這就表示已經(jīng)完成了數(shù)據(jù)庫備份導(dǎo)出的動作。
請點擊輸入圖片描述
這時候在計算機中找到第四步中設(shè)定的文件保存路徑,如下截圖,你會發(fā)現(xiàn)多了一個dmp的文件,這個文件就是我們需要的備份文件了。
請點擊輸入圖片描述
可以在控制面板的管理工具中,找到任務(wù)計劃程序,設(shè)置一個定時任務(wù),每天執(zhí)行一遍exp 用戶名/密碼@SID file=d:\xx.dmp owner=用戶名這個命令,這樣就能實現(xiàn)數(shù)據(jù)庫數(shù)據(jù)的定時備份了。
請點擊輸入圖片描述
請點擊輸入圖片描述
Oracle數(shù)據(jù)庫怎么使用
,這兩者都要保證你的服務(wù)是否啟動,一般啟動最后兩個就可以
1.cmd進入命令行 lsnrctl start 啟動監(jiān)聽服務(wù),看出現(xiàn)什么錯誤
如果沒有錯誤,察看數(shù)據(jù)庫是否可以正常進行連接
2.看下你電腦是不是裝了防火墻 先把防火墻禁止掉去
3.去orant\net80\trace\看看,一般有錯都會在那里產(chǎn)生一個.log文件
如果是機器改名的話,編輯[oracle_home]\ora81\network\admin\listener.ora文件,將原機器名改為新的即可.也可能是端口沖突,比如我曾經(jīng)因為安裝一個上網(wǎng)代理軟件而導(dǎo)致數(shù)據(jù)庫服務(wù)不能啟動.卸載該軟件即可.
已解決,主要是修改了機器名稱.導(dǎo)致監(jiān)聽啟動后自動退出
將listener.ora 中,HOST 的值改成現(xiàn)在的機器名或IP 地址,然后再啟動監(jiān)聽.問題就解決
啟動數(shù)據(jù)庫,在服務(wù)器上
(9I版本以上)
sqlplus /nolog
connect /as sysdba
startup
exit