Oracle教程 (第6版)(Oracle 11g版) 課件 第3章 數(shù)據(jù)庫的創(chuàng)建和操作_第1頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第3章 數(shù)據(jù)庫的創(chuàng)建和操作_第2頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第3章 數(shù)據(jù)庫的創(chuàng)建和操作_第3頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第3章 數(shù)據(jù)庫的創(chuàng)建和操作_第4頁
Oracle教程 (第6版)(Oracle 11g版) 課件 第3章 數(shù)據(jù)庫的創(chuàng)建和操作_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第3章數(shù)據(jù)庫的創(chuàng)建和操作以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)使用DBCA創(chuàng)建學(xué)生成績管理數(shù)據(jù)庫XSCJ,其步驟如下。(1)啟動DBCA,出現(xiàn)“歡迎使用”窗口,如圖所示,單擊“下一步”按鈕進(jìn)入創(chuàng)建數(shù)據(jù)庫的向?qū)?。以界面方式?chuàng)建數(shù)據(jù)庫(采用DBCA)(2)在“操作”窗口中,用戶可以選擇要執(zhí)行的操作,這里選中“創(chuàng)建數(shù)據(jù)庫”選項(xiàng),如圖所示,單擊“下一步”按鈕。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(3)在“數(shù)據(jù)庫模板”窗口中,選擇相應(yīng)選項(xiàng)后單擊“顯示詳細(xì)資料”按鈕,可查看該數(shù)據(jù)庫模板的各種信息。這里選擇“一般用途或事務(wù)處理”選項(xiàng),如圖所示,單擊“下一步”按鈕。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(4)在“數(shù)據(jù)庫標(biāo)識”窗口的“全局?jǐn)?shù)據(jù)庫名”和“SID”后輸入相關(guān)信息,如圖所示,單擊“下一步”按鈕。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(5)在“管理選項(xiàng)”窗口中可以勾選“配置EnterpriseManager”復(fù)選項(xiàng)或選擇“配置DatabaseControl以進(jìn)行本地管理”單選項(xiàng),這里保持默認(rèn)設(shè)置,如圖所示,單擊“下一步”按鈕。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(6)在“數(shù)據(jù)庫身份證明”窗口中,將所有賬戶設(shè)置為同一管理口令(Mm123456),如圖所示,單擊“下一步”按鈕。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(7)在“數(shù)據(jù)庫文件所在位置”窗口中,選擇“所有數(shù)據(jù)庫文件使用公共位置”選項(xiàng),單擊“瀏覽”按鈕,選擇數(shù)據(jù)庫文件的存放路徑,如圖所示,單擊“下一步”按鈕。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(8)在“恢復(fù)配置”窗口中采取默認(rèn)的配置,單擊“下一步”按鈕。(9)在“數(shù)據(jù)庫內(nèi)容”窗口中勾選“示例方案”復(fù)選項(xiàng),如圖所示,這樣就可以在學(xué)習(xí)的過程中參考標(biāo)準(zhǔn)設(shè)置,也可以了解基礎(chǔ)的數(shù)據(jù)庫創(chuàng)建方法和SQL語言。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(10)在“初始化參數(shù)”和“數(shù)據(jù)庫存儲”窗口中都保持默認(rèn)配置,分別單擊“下一步”按鈕。(11)在“創(chuàng)建選項(xiàng)”窗口中勾選“創(chuàng)建數(shù)據(jù)庫”復(fù)選項(xiàng),如圖所示,單擊“完成”按鈕,之后會彈出確認(rèn)創(chuàng)建的對話框,單擊“確定”按鈕開始創(chuàng)建數(shù)據(jù)庫。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(12)創(chuàng)建數(shù)據(jù)庫期間顯示的進(jìn)度窗口如圖所示,過程較為漫長,需要耐心等待……以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)(13)創(chuàng)建數(shù)據(jù)庫完畢后,系統(tǒng)會彈出窗口顯示相關(guān)的提示信息,如圖所示,需要在這一步解鎖SCOTT、SYSTEM、SYS賬戶并設(shè)置其口令,單擊“口令管理”按鈕,彈出“口令管理”對話框。以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)至此,所有步驟都已全部完成。現(xiàn)在,系統(tǒng)服務(wù)中應(yīng)該已經(jīng)有SID為XSCJ的服務(wù)選項(xiàng)并已置為“自動”啟動,服務(wù)正在運(yùn)行,如圖所示,訪問XSCJ數(shù)據(jù)庫前必須保證已啟動了這兩個(gè)系統(tǒng)服務(wù):OracleOraDb11g_home1TNSListener和OracleServiceXSCJ。第3章數(shù)據(jù)庫的創(chuàng)建和操作以界面方式操作數(shù)據(jù)庫(采用SQLDeveloper)01表

作1.表的概念2.?dāng)?shù)據(jù)類型3.表結(jié)構(gòu)設(shè)計(jì)4.創(chuàng)建表5.修改表6.刪除表表

作1.表的概念表是日常工作和生活中經(jīng)常使用的一種表示數(shù)據(jù)及其關(guān)系的形式,如表所示就是用來表示學(xué)生信息的學(xué)生表。學(xué)

號姓

名性

別出生時(shí)間專

業(yè)總

學(xué)

分備

注151101王林男1997-02-10計(jì)算機(jī)50

151103王燕女1996-10-06計(jì)算機(jī)50

151108林一帆男1996-08-05計(jì)算機(jī)52已提前修完一門課151202王林男1996-01-29通信工程40有一門課不及格,待補(bǔ)考151204馬琳琳女1996-02-10通信工程42

作關(guān)系數(shù)據(jù)庫使用表(關(guān)系)來表示實(shí)體及其聯(lián)系。表包含下列概念。(1)表結(jié)構(gòu):每個(gè)表都包含一組固定的列,而列由數(shù)據(jù)類型(DATATYPE)和長度(LENGTH)兩部分組成,以描述該表所代表的實(shí)體的屬性。(2)記錄:每個(gè)表包含了若干行數(shù)據(jù),它們是表的“值”,其中的一行稱為一個(gè)記錄,因此,表是記錄的有限集合。(3)字段:每個(gè)記錄由若干個(gè)數(shù)據(jù)項(xiàng)構(gòu)成,將構(gòu)成記錄的數(shù)據(jù)項(xiàng)稱為字段。(4)關(guān)鍵字:若表中記錄的某個(gè)字段或字段組合能唯一標(biāo)識記錄,則稱該字段(字段組合)為候選關(guān)鍵字(Candidatekey)。表

作2.?dāng)?shù)據(jù)類型在設(shè)計(jì)表的列時(shí),必須為其指定數(shù)據(jù)類型,它決定了該列數(shù)據(jù)的取值、范圍和存儲格式。列的數(shù)據(jù)類型可以是Oracle系統(tǒng)的數(shù)據(jù)類型,如表。3.表結(jié)構(gòu)設(shè)計(jì)創(chuàng)建表的實(shí)質(zhì)就是定義表結(jié)構(gòu),以及設(shè)置表和列的屬性。在創(chuàng)建表之前,先要確定表的名字和屬性,同時(shí)確定表所包含的列名、列的數(shù)據(jù)類型、長度、是否可為空值、約束條件、默認(rèn)值設(shè)置、規(guī)則,以及所需索引、哪些列是主鍵、哪些列是外鍵等屬性,這些屬性構(gòu)成了表結(jié)構(gòu)。這里以學(xué)生成績管理系統(tǒng)的三個(gè)表,即學(xué)生表(表名為XSB)、課程表(表名為KCB)和成績表(表名為CJB)為例介紹如何設(shè)計(jì)表的結(jié)構(gòu)。表

作在XSB表中,只有“學(xué)號”列能唯一標(biāo)識一個(gè)學(xué)生,所以將該列設(shè)為主鍵。最終設(shè)計(jì)出XSB的表結(jié)構(gòu)如表所示。列

名數(shù)據(jù)類型是否可空默

認(rèn)

值說

明學(xué)號char(6)×無主鍵姓名char(8)×無

性別char(2)ד男”

出生時(shí)間date×無

專業(yè)char(12)√無

總學(xué)分number(2)√00≤總學(xué)分<100備注varchar2(200)√無

作參照XSB表結(jié)構(gòu)的設(shè)計(jì)方法,同樣可以設(shè)計(jì)出其他兩個(gè)表的結(jié)構(gòu),如表所示是KCB的表結(jié)構(gòu),如表所示是CJB的表結(jié)構(gòu)。列

名數(shù)據(jù)類型是否可空默

認(rèn)

值說

明課程號char(3)×無主鍵課程名char(16)×無

開課學(xué)期number(1)√1只能為1~8學(xué)時(shí)number(2)√0

學(xué)分number(1)×0

KCB的表結(jié)構(gòu)列

名數(shù)據(jù)類型是否可空默

認(rèn)

值說

明學(xué)號char(6)×無主鍵課程號char(3)×無主鍵成績number(2)√無

CJB的表結(jié)構(gòu)表

作4.創(chuàng)建表這里以創(chuàng)建XSB表為例,操作的步驟如下。(1)啟動SQLDeveloper,在“連接”節(jié)點(diǎn)下打開數(shù)據(jù)庫連接myorcl(已創(chuàng)建)。右擊“表”節(jié)點(diǎn),選擇“新建表”菜單項(xiàng)。(2)進(jìn)入“創(chuàng)建表”窗口,在“名稱”欄中填寫表名XSB,在“表”選項(xiàng)卡的“列名”、“類型”、“大小”、“非空”和“主鍵”欄中分別填入(選擇)XSB表中“學(xué)號”列的列名、數(shù)據(jù)類型、長度、非空性和是否為主鍵等信息,完成后單擊“添加列”按鈕輸入下一列,直到輸入完所有的列為止,如圖。表

作(3)輸入完最后一列的信息后,勾選右上角的“高級”復(fù)選項(xiàng),這時(shí)會顯示出更多的表選項(xiàng),如圖所示,如要設(shè)置默認(rèn)值可以在“列屬性”的“默認(rèn)”欄中輸入默認(rèn)值。這里暫不對其他選項(xiàng)進(jìn)行設(shè)置,單擊“確定”按鈕完成表的創(chuàng)建。表

作5.修改表使用SQLDeveloper工具修改表的方法很簡單。XSB表創(chuàng)建完成后,在主界面的“表”目錄下可以找到該表。右擊XSB表,選擇“編輯”菜單項(xiàng),進(jìn)入“編輯表”窗口,在該窗口中的“列”選項(xiàng)頁右側(cè)單擊按鈕可以添加新列,單擊按鈕可以刪除列,在“列屬性”選項(xiàng)頁的各欄中可以修改列的屬性。表的主鍵列不能直接刪除,要?jiǎng)h除必須先取消主鍵。單擊窗口左側(cè)“主鍵”選項(xiàng),在窗口右邊的“所選列”欄中會顯示已被設(shè)為主鍵的列,如圖。表

作6.刪除表以刪除XSB表為例,在“表”目錄下右擊XSB表選擇“表”菜單下的“刪除”子菜單項(xiàng),如圖所示,之后彈出“刪除”對話框,勾選“級聯(lián)約束條件”復(fù)選項(xiàng),單擊“應(yīng)用”按鈕,彈出表已刪除的提示消息,單擊“確定”按鈕即可。02表數(shù)據(jù)操作1.插入記錄2.修改記錄3.刪除記錄4.撤銷操作表數(shù)據(jù)操作1.插入記錄首先,啟動SQLDeveloper,打開myorcl連接(需要輸入SCOTT用戶口令),展開“表”目錄,選擇“XSB”表,在右邊窗口中選擇“數(shù)據(jù)”選項(xiàng),切換到表數(shù)據(jù)窗口,如圖。表數(shù)據(jù)操作輸入完一行數(shù)據(jù)后,單擊(提交)按鈕將數(shù)據(jù)保存到數(shù)據(jù)庫中,同時(shí)下方的“DataEditor-日志”子窗口列出用于插入數(shù)據(jù)的INSERT語句,如圖。表數(shù)據(jù)操作2.修改記錄修改記錄的方法與插入記錄類似,在“數(shù)據(jù)”選項(xiàng)頁找到要修改的記錄所在行,修改后該行的行號前會出現(xiàn)一個(gè)“*”號,如圖所示,更改完成單擊“提交”按鈕保存修改的數(shù)據(jù)。表數(shù)據(jù)操作3.刪除記錄如果要?jiǎng)h除一行記錄,選中該行,單擊(刪除所選行)按鈕,之后該行的行號前會出現(xiàn)一個(gè)“-”號,如圖所示,單擊“提交”按鈕確認(rèn)刪除。表數(shù)據(jù)操作4.撤銷操作如果需要撤銷之前對表中記錄所做的操作,只需在單擊“提交”按鈕之前單擊(回退)按鈕即可,圖3.21所示為撤銷上一步的刪除操作。03執(zhí)行SQL命令執(zhí)行SQL命令啟動SQLDeveloper,單擊工具欄按鈕的右下箭頭選擇“myorcl”選項(xiàng),界面上將出現(xiàn)命令編輯區(qū),如圖所示,在其中輸入要運(yùn)行的SQL語句如下:CREATETABLExsb(

學(xué)號 char(6) NOTNULLPRIMARYKEY,

姓名 char(8) NOTNULL,

性別 char(2) DEFAULT'男'NOTNULL,

出生時(shí)間date NOTNULL,

專業(yè) char(12) NULL,

總學(xué)分number(2) NULL,

備注 varchar2(200) NULL);執(zhí)行SQL命令這里以執(zhí)行創(chuàng)建表的CREATETABLE命令(詳見第3.3節(jié))為例,操作前須先刪除已創(chuàng)建的XSB表,輸入完命令后單擊窗口上方的或按鈕即可執(zhí)行該SQL語句重新創(chuàng)建XSB表。建表完成后,可往其中錄入樣本數(shù)據(jù)(見附錄A)以備后用,如圖。第3章數(shù)據(jù)庫的創(chuàng)建和操作以命令方式操作數(shù)據(jù)庫(采用SQL*Plus)01創(chuàng)

表創(chuàng)

表在以自己的模式創(chuàng)建表時(shí),必須擁有CREATETABLE系統(tǒng)權(quán)限;在其他用戶模式中創(chuàng)建表時(shí),必須擁有CREATEANYTABLE系統(tǒng)權(quán)限。Oracle創(chuàng)建表使用CREATETABLE語句,其基本的語法格式為:CREATETABLE[用戶方案名.]表名(

列名1數(shù)據(jù)類型[DEFAULT默認(rèn)值][列約束]

列名2數(shù)據(jù)類型[DEFAULT默認(rèn)值][列約束] [,…n]

表約束[,…n]) [AS子查詢]相關(guān)參數(shù)說明如下。(1)用戶方案名:用戶方案是指該表所屬的用戶,如果省略則默認(rèn)為當(dāng)前登錄的用戶。(2)DEFAULT:關(guān)鍵字DEFAULT指定某個(gè)列的默認(rèn)值。默認(rèn)值的數(shù)據(jù)類型必須與該列的數(shù)據(jù)類型相匹配,列的長度必須足以容納這個(gè)表達(dá)式值。(3)列約束:定義一個(gè)完整性約束作為列定義的一部分,該子句的語法如下。(4)表約束:定義一個(gè)完整性約束作為表定義的一部分,有關(guān)完整性約束的內(nèi)容會在第5章詳細(xì)介紹。(5)AS子查詢:表示將由子查詢返回的行插入到所創(chuàng)建的表中,子查詢的使用將在第4.2.2節(jié)中具體介紹。[NOT]NULL[UNIQUE][PRIMARYKEY][REFERENCES[用戶方案名.]表名(列名)][CHECK(條件表達(dá)式)]創(chuàng)

表【例3.1】

利用CREATETABLE命令為XSCJ數(shù)據(jù)庫建立KCB表,其表結(jié)構(gòu)可參見表。列

名數(shù)據(jù)類型是否可空默

認(rèn)

值說

明課程號char(3)×無主鍵課程名char(16)×無

開課學(xué)期number(1)√1只能為1~8學(xué)時(shí)number(2)√0

學(xué)分number(1)×0

CREATETABLEkcb(

課程號 char(3) NOTNULLPRIMARYKEY,

課程名 char(16) NOTNULL,

開課學(xué)期 number(1) NULL,

學(xué)時(shí) number(2) NULL,

學(xué)分 number(1) NOTNULL);創(chuàng)

表創(chuàng)建完畢,用命令“DESCRIBEkcb;”可查看KCB表結(jié)構(gòu),如圖。如果表的主鍵由兩個(gè)或多個(gè)列構(gòu)成,則必須使用PRIMARYKEY關(guān)鍵字定義為表的完整性約束,語法格式為:CREATETABLE表名(

列名1數(shù)據(jù)類型[DEFAULT默認(rèn)值][列約束][,…n]PRIMARYKEY(列名1,列名2[,...n]))創(chuàng)

表【例3.2】

利用CREATETABLE命令為XSCJ數(shù)據(jù)庫建立CJB表,其表結(jié)構(gòu)參見表。CREATETABLEcjb(

學(xué)號 char(6) NOTNULL,

課程號 char(3) NOTNULL,

成績 number(2) NULL, PRIMARYKEY(學(xué)號,課程號))列

名數(shù)據(jù)類型是否可空默

認(rèn)

值說

明學(xué)號char(6)×無主鍵課程號char(3)×無主鍵成績number(2)√無

創(chuàng)

表【例3.3】

創(chuàng)建XSB表中計(jì)算機(jī)專業(yè)學(xué)生的記錄備份表,表名為XS_JSJ。CREATETABLEXS_JSJ ASSELECT* FROMXSB WHERE專業(yè)='計(jì)算機(jī)';創(chuàng)建完畢,可用SQLDeveloper查看結(jié)果,如圖所示,可以看到XS_JSJ表中存儲(備份)了XSB表中計(jì)算機(jī)專業(yè)全部11名學(xué)生的記錄。02修

表修

表修改表結(jié)構(gòu)使用ALTERTABLE語句,語法格式為:ALTERTABLE[用戶方案名.]表名 [ADD(新列名數(shù)據(jù)類型[DEFAULT默認(rèn)值][列約束],…n)] /*增加新列*/ [MODIFY([列名[數(shù)據(jù)類型][DEFAULT默認(rèn)值][列約束],…n)] /*修改已有列屬性*/ [DROP子句] /*刪除列或約束條件*/相關(guān)參數(shù)說明如下。(1)ADD子句:用于向表中增加一個(gè)新列,新的列定義和創(chuàng)建表時(shí)列定義的格式一樣,一次可添加多個(gè)列,中間用逗號隔開。(2)MODIFY子句:用于修改表中某列的屬性(數(shù)據(jù)類型、默認(rèn)值等)。(3)DROP子句:該子句用于從表中刪除指定的字段或約束,語法格式為:DROP{ COLUMN列名

∣PRIMARY[KEY]

∣UNIQUE(列名,…n)

∣CONSTRAINT約束名

∣[CASCADE]}修

表【例3.4】

使用ALTERTABLE語句修改XSCJ數(shù)據(jù)庫中的XS_JSJ表。(1)在XS_JSJ表中增加兩列:獎(jiǎng)學(xué)金等級和等級說明。ALTERTABLExs_jsj ADD(獎(jiǎng)學(xué)金等級number(1),

等級說明varchar2(40)DEFAULT'獎(jiǎng)金1000元');運(yùn)行結(jié)果如圖。修

表(2)在XS_JSJ表中修改“等級說明”列的默認(rèn)值。ALTERTABLExs_jsj MODIFY(等級說明DEFAULT'獎(jiǎng)金800元');運(yùn)行語句后,打開SQLDeveloper的“編輯表”窗口查看XS_JSJ表的列屬性,可見“等級說明”列的默認(rèn)值已改為“獎(jiǎng)金800元”,如圖。修

表(3)在XS_JSJ表中刪除“獎(jiǎng)學(xué)金等級”和“等級說明”列。ALTERTABLExs_jsj DROPCOLUMN獎(jiǎng)學(xué)金等級;ALTERTABLExs_jsj DROPCOLUMN等級說明;運(yùn)行結(jié)果如圖。修

表(4)為XS_JSJ表添加主鍵。ALTERTABLExs_jsj ADD(CONSTRAINT"PK_JSJ"PRIMARYKEY(學(xué)號));運(yùn)行語句后,打開SQLDeveloper的“編輯表”窗口,可以看到“學(xué)號”列已被設(shè)為主鍵,如圖。03刪

表刪

表語法格式為:DROPTABLE[用戶方案名.]表名如要?jiǎng)h除表XS_JSJ,使用如下語句:DROPTABLExs_jsj;執(zhí)行結(jié)果如圖。04插入記錄1.INSERT語句2.MERGE語句插入記錄1.INSERT語句插入記錄一般使用INSERT語句,語法格式為:INSERTINTO表名[(列名1,列名2,…n)]VALUES(列值1,列值2,…n)相關(guān)參數(shù)說明如下。(1)在插入時(shí),列值表必須與列名表順序和數(shù)據(jù)類型一致。(2)VALUES中描述的值可以是一個(gè)常量、變量或一個(gè)表達(dá)式。(3)如果列值為空,則值必須設(shè)置為NULL。(4)在對表進(jìn)行插入行操作時(shí),若新插入的行中所有可取空值的列值均取空值,則可以在INSERT語句中通過列表指出插入的行值中所包含非空的列,而在VALUES中只要給出這些列的值即可。插入記錄【例3.5】

向XSCJ數(shù)據(jù)庫的XSB表中插入一行: 151114周何駿

計(jì)算機(jī)

男1998-09-2590可以使用SQL語句:INSERTINTOxsb(學(xué)號,姓名,性別,出生時(shí)間,專業(yè),總學(xué)分) VALUES('151114','周何駿','男',TO_DATE('19980925','YYYYMMDD'),'計(jì)算機(jī)',90);或者執(zhí)行下列命令:INSERTINTOxsb VALUES('151114','周何駿','男','1998-09-25','計(jì)算機(jī)',90,NULL);然后再運(yùn)行COMMIT命令:COMMIT;插入記錄最后,使用SELECT語句查詢是否添加了該行記錄:SELECT學(xué)號,姓名,性別,出生時(shí)間,專業(yè),總學(xué)分 FROMxsb WHERE學(xué)號='151114';運(yùn)行結(jié)果如圖。插入記錄【例3.6】向具有默認(rèn)值字段的表中插入記錄。創(chuàng)建一個(gè)具有默認(rèn)值字段的表test:CREATETABLEtest(

姓名 char(20) NOTNULL,

專業(yè) varchar2(30) DEFAULT('計(jì)算機(jī)'),

年級 number NOTNULL);用INSERT向test表中插入一條記錄:INSERTINTOtest(姓名,年級)VALUES('周何駿',3);運(yùn)行結(jié)果如圖。插入記錄利用INSERT語句還可以把一個(gè)表中的部分?jǐn)?shù)據(jù)插入到另一個(gè)表中,但結(jié)果集中每行數(shù)據(jù)的字段數(shù)、字段的數(shù)據(jù)類型都要與被操作的表完全一致,語法格式為:INSERTINTO表名

結(jié)果集其中,結(jié)果集是一個(gè)由SELECT語句查詢所得到的新表。利用該參數(shù),可把一個(gè)表的部分?jǐn)?shù)據(jù)插入指定的另一個(gè)表中?!纠?.7】

用CREATE語句建立XSB1表:CREATETABLExsb1( num char(6) NOTNULL, name char(8) NOTNULL, Speciality char(12) NULL);插入記錄然后用INSERT語句向XSB1表中插入數(shù)據(jù):INSERTINTOxsb1 SELECT學(xué)號,姓名,專業(yè) FROMxsb WHERE姓名='王林';這條INSERT語句將XSB表中姓名為“王林”的學(xué)號、姓名和專業(yè)的值插入到XSB1表的各行中。運(yùn)行結(jié)果如圖。插入記錄2.MERGE語句在Oracle11g數(shù)據(jù)庫中有MERGE語句,用于根據(jù)與源表連接的結(jié)果,對目標(biāo)表執(zhí)行插入、更新或刪除操作。如根據(jù)在一個(gè)表中找到的差異在另一個(gè)表中進(jìn)行插入、更新或刪除行的操作,這種方法可以對兩個(gè)表進(jìn)行信息同步,其語法格式為:MERGEINTO目標(biāo)表名 USING源表名ON(條件表達(dá)式) WHENMATCHEDTHEN{UPDATESET…|DELETE…} WHENNOTMATCHEDTHENINSERT(…)VALUES(…)相關(guān)參數(shù)說明如下。(1)USING子句:指定用于更新的源數(shù)據(jù)表。(2)ON子句:指定在源表與目標(biāo)表進(jìn)行連接時(shí)所遵循的條件。(3)WHENMATCHED子句:表示在應(yīng)用ON子句的條件后,目標(biāo)表存在與源表匹配的行時(shí),對這些行在THEN子句中指定修改或刪除的操作。(4)WHENNOTMATCHED子句:指定對于源表中滿足了ON子句中條件的每一行,如果該行與目標(biāo)表中的行不匹配,則向目標(biāo)表中插入這行數(shù)據(jù)。插入記錄【例3.8】創(chuàng)建表a,并將XSB表中的數(shù)據(jù)添加至該表中。創(chuàng)建表a的語句為:CREATETABLEa( XH char(6) NOTNULLPRIMARYKEY, XM char(8) NOTNULL, XB char(2) NOTNULL, CSSJ date NOTNULL, ZY char(12) NULL, ZXF number(2) NULL, BZ varchar(200) NULL);插入記錄進(jìn)行信息同步使用的語句為:MERGEINTOa USINGxsbON(a.xh=xsb.學(xué)號) WHENMATCHED THENUPDATESETa.xm=xsb.姓名,a.xb=xsb.性別,a.cssj=xsb.出生時(shí)間, a.zy=xsb.專業(yè),a.zxf=xsb.總學(xué)分,a.bz=xsb.備注 WHENNOTMATCHED THENINSERTVALUES(XSB.學(xué)號,xsb.姓名,xsb.性別,xsb.出生時(shí)間,xsb.專業(yè), xsb.總學(xué)分,xsb.備注);運(yùn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論