版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3章章 數(shù)據(jù)庫(kù)的創(chuàng)建和操作數(shù)據(jù)庫(kù)的創(chuàng)建和操作3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)3. 2 以界面方式操作數(shù)據(jù)庫(kù)(采用以界面方式操作數(shù)據(jù)庫(kù)(采用SQL Developer)3. 3 命令方式操作數(shù)據(jù)庫(kù)(采用命令方式操作數(shù)據(jù)庫(kù)(采用SQL*Plus)3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(1)啟動(dòng)DBCA,出現(xiàn)“歡迎使用”界面,如圖3.1所示,單擊“下一步”按鈕進(jìn)入創(chuàng)建數(shù)據(jù)庫(kù)的向?qū)А?. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(2)在“操作”窗口中,用戶可以選擇要執(zhí)行的操作,這里選中“創(chuàng)建數(shù)據(jù)庫(kù)”
2、選項(xiàng),如圖3.2所示,單擊“下一步”按鈕。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(3)在“數(shù)據(jù)庫(kù)模板”窗口中,選擇相應(yīng)選項(xiàng)后單擊“顯示詳細(xì)資料”按鈕可查看該數(shù)據(jù)庫(kù)模板的各種信息。這里選擇“一般用途或事務(wù)處理”選項(xiàng),如圖3.3所示,單擊“下一步”按鈕。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(4)在“數(shù)據(jù)庫(kù)標(biāo)識(shí)”窗口中輸入“全局?jǐn)?shù)據(jù)庫(kù)名”和“SID”,如圖3.4所示,單擊“下一步”按鈕。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(5)在“管理選項(xiàng)”窗口中可以選擇配置Enterprise Manager
3、企業(yè)管理器或者配置Database Control管理本地?cái)?shù)據(jù)庫(kù),這里保持默認(rèn)設(shè)置,如圖3.5所示,單擊“下一步”按鈕。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(6)在“數(shù)據(jù)庫(kù)身份證明”窗口中,將所有賬戶設(shè)置為同一管理口令(Mm123456),如圖3.6所示,單擊“下一步”按鈕。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(7)在“數(shù)據(jù)庫(kù)文件所在位置”窗口中,選擇“所有數(shù)據(jù)庫(kù)文件使用公共位置”,單擊“瀏覽”按鈕選擇數(shù)據(jù)庫(kù)文件的存放路徑,如圖3.7所示,單擊“下一步”按鈕。(8)在“恢復(fù)配置”窗口中采取默認(rèn)的配置,單擊“下一步”按鈕繼續(xù)
4、。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(9)在“數(shù)據(jù)庫(kù)內(nèi)容”窗口中勾選“示例方案”,如圖3.8所示,這樣就可以在學(xué)習(xí)的過(guò)程中參考標(biāo)準(zhǔn)設(shè)置,也可了解基礎(chǔ)的數(shù)據(jù)庫(kù)創(chuàng)建方法和SQL語(yǔ)言。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(10)在“初始化參數(shù)”和“數(shù)據(jù)庫(kù)存儲(chǔ)”窗口中也保持默認(rèn)配置,兩次單擊“下一步”按鈕。(11)在“創(chuàng)建選項(xiàng)”窗口中選擇“創(chuàng)建數(shù)據(jù)庫(kù)”選項(xiàng),如圖3.9所示,單擊“完成”按鈕,之后會(huì)彈出確認(rèn)創(chuàng)建的對(duì)話框,單擊“確定”按鈕開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(12)
5、創(chuàng)建數(shù)據(jù)庫(kù)期間顯示的創(chuàng)建進(jìn)度窗口如圖3.10所示,過(guò)程較為漫長(zhǎng),讀者要耐心地等待3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)(13)創(chuàng)建數(shù)據(jù)庫(kù)完畢后,系統(tǒng)會(huì)彈出窗口顯示相關(guān)的提示信息,如圖3.11所示,需要在這一步解鎖SCOTT、SYSTEM、SYS賬戶并設(shè)置其口令,單擊窗口中的“口令管理”按鈕,彈出“口令管理”對(duì)話框。3. 1 以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用以界面方式創(chuàng)建數(shù)據(jù)庫(kù)(采用DBCA)至此,所有步驟都已全部完成。現(xiàn)在,系統(tǒng)服務(wù)中應(yīng)該已經(jīng)有SID為XSCJ的服務(wù)選項(xiàng)并已置為“自動(dòng)”啟動(dòng),服務(wù)正在運(yùn)行,如圖3.12所示,訪問(wèn)XSCJ數(shù)據(jù)庫(kù)前必須保證已啟動(dòng)了這兩個(gè)系
6、統(tǒng)服務(wù):OracleOraDb11g_home1TNSListener和OracleServiceXSCJ。3. 2 以界面方式操作數(shù)據(jù)庫(kù)(采用以界面方式操作數(shù)據(jù)庫(kù)(采用SQL Developer)3.2.1 表操作表操作1表的概念表的概念表是日常工作和生活中經(jīng)常使用的一種表示數(shù)據(jù)及其關(guān)系的形式,表3.1就是用來(lái)表示學(xué)生信息的一個(gè)學(xué)生表。學(xué) 號(hào)姓 名性 別出 生 時(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通
7、信工程40有一門課不及格,待補(bǔ)考151204馬琳琳女1996-02-10通信工程42 3.2.1 表操作表操作關(guān)系數(shù)據(jù)庫(kù)使用表(即關(guān)系)來(lái)表示實(shí)體及其聯(lián)系。表包含下列概念。(1)表結(jié)構(gòu)表結(jié)構(gòu):每個(gè)表都包含一組固定的列,而列由數(shù)據(jù)類型(DATATYPE)和長(zhǎng)度(LENGTH)兩部分組成,以描述該表所代表的實(shí)體的屬性。(2)記錄記錄:每個(gè)表包含了若干行數(shù)據(jù),它們是表的“值”,其中的一行稱為一個(gè)記錄,因此,表是記錄的有限集合。(3)字段字段:每個(gè)記錄由若干個(gè)數(shù)據(jù)項(xiàng)構(gòu)成,將構(gòu)成記錄的數(shù)據(jù)項(xiàng)稱為字段。例如,表3.1的XSB,其表結(jié)構(gòu)為(學(xué)號(hào),姓名,性別,出生時(shí)間,專業(yè),總學(xué)分,備注),包含7個(gè)字段,由5
8、個(gè)記錄組成。(4)關(guān)鍵字關(guān)鍵字:若表中記錄的某個(gè)字段或字段組合能唯一標(biāo)識(shí)記錄,則稱該字段(字段組合)為候選關(guān)鍵字(Candidate Key)。若一個(gè)表有多個(gè)候選關(guān)鍵字,則選定其中一個(gè)為主關(guān)鍵字(Primary Key),也稱為主鍵。3.2.1 表操作表操作2數(shù)據(jù)類型數(shù)據(jù)類型在設(shè)計(jì)表的列時(shí),必須為其指定數(shù)據(jù)類型,它決定了該列數(shù)據(jù)的取值、范圍和存儲(chǔ)格式。列的數(shù)據(jù)類型可以是Oracle提供的系統(tǒng)數(shù)據(jù)類型,其中主要的類型列于表3.2中。3.2.1 表操作表操作3表結(jié)構(gòu)設(shè)計(jì)表結(jié)構(gòu)設(shè)計(jì)創(chuàng)建表的實(shí)質(zhì)就是定義表結(jié)構(gòu)以及設(shè)置表和列的屬性。創(chuàng)建表之前,先要確定表的名字、表的屬性,同時(shí)確定表所包含的列名、列的數(shù)據(jù)
9、類型、長(zhǎng)度、是否可為空值、約束條件、默認(rèn)值設(shè)置、規(guī)則以及所需索引、哪些列是主鍵、哪些列是外鍵等屬性,這些屬性構(gòu)成表結(jié)構(gòu)。這里以本書(shū)要使用到的學(xué)生成績(jī)管理系統(tǒng)的三個(gè)表:學(xué)生表(表名為XSB)、課程表(表名為KCB)和成績(jī)表(表名為CJB)為例介紹如何設(shè)計(jì)表的結(jié)構(gòu)。最終設(shè)計(jì)出XSB的表結(jié)構(gòu)如表3.3所示。列 名數(shù) 據(jù) 類 型是 否 可 空默 認(rèn) 值說(shuō) 明學(xué)號(hào)char(6)無(wú)主鍵姓名char(8)無(wú) 性別char(2)“男” 出生時(shí)間date無(wú) 專業(yè)char(12)無(wú) 總學(xué)分number(2)00 總學(xué)分100備注varchar2(200)無(wú) 3.2.1 表操作表操作參照XSB表結(jié)構(gòu)的設(shè)計(jì)方法,同樣
10、可以設(shè)計(jì)出其他兩個(gè)表的結(jié)構(gòu)。如表3.4所示是KCB的表結(jié)構(gòu),表3.5是CJB的表結(jié)構(gòu)。列 名數(shù) 據(jù) 類 型是 否 可 空默 認(rèn) 值說(shuō) 明課程號(hào)char(3)無(wú)主鍵課程名char(16)無(wú) 開(kāi)課學(xué)期number(1)1只能為18學(xué)時(shí)number(2)0 學(xué)分number(1)0 列 名數(shù) 據(jù) 類 型是 否 可 空默 認(rèn) 值說(shuō) 明學(xué)號(hào)char(6)無(wú)主鍵課程號(hào)char(3)無(wú)主鍵成績(jī)number(2)無(wú) 表3.4 KCB的表結(jié)構(gòu)表3.5 CJB的表結(jié)構(gòu)3.2.1 表操作表操作4創(chuàng)建表創(chuàng)建表(1)啟動(dòng)SQL Developer,在“連接”節(jié)點(diǎn)下打開(kāi)數(shù)據(jù)庫(kù)連接myorcl(已創(chuàng)建)。右擊“表”節(jié)點(diǎn),選
11、擇“新建表”菜單項(xiàng)。(2)進(jìn)入“創(chuàng)建表”窗口,在“名稱”欄中填寫表名XSB,在“表”選項(xiàng)卡的“列名”、“類型”、“大小”、“非空”、“主鍵”欄中分別填入(選擇)XSB表的“學(xué)號(hào)”列的列名、數(shù)據(jù)類型、長(zhǎng)度、非空性和是否為主鍵等信息,完成后單擊“添加列”按鈕輸入下一列,直到所有的列輸入完為止,如圖3.13所示。3.2.1 表操作表操作(3)輸完最后一列的信息后,選中右上角的“高級(jí)”復(fù)選框,這時(shí)會(huì)顯示出更多的表選項(xiàng),如表類型、列的默認(rèn)值、約束條件、外鍵和存儲(chǔ)選項(xiàng)等,如圖3.14所示,例如要設(shè)置默認(rèn)值可以在“列屬性”選項(xiàng)頁(yè)中該列的“默認(rèn)”欄中輸入默認(rèn)值。3.2.1 表操作表操作5修改表修改表使用SQL
12、 Developer工具修改表的方法很簡(jiǎn)單。XSB表創(chuàng)建完成后在主界面的“表”目錄下可以找到該表。右擊XSB表選擇“編輯”菜單項(xiàng),進(jìn)入“編輯表”窗口(類似圖3.14的界面),在該窗口中的“列”選項(xiàng)頁(yè)右側(cè)單擊 按鈕可以添加新列,單擊 按鈕可以刪除列,在“列屬性”選項(xiàng)頁(yè)的各欄中可以修改列的屬性。表的主鍵列不能直接刪除,要?jiǎng)h除必須先取消主鍵。單擊窗口左側(cè)的“主鍵”選項(xiàng),在窗口右邊的“所選列”欄會(huì)顯示已被設(shè)為主鍵的列,如圖3.15所示。3.2.1 表操作表操作6刪除表刪除表以刪除XSB表為例,在“表”目錄下右擊XSB表選擇“表”菜單下的“刪除”子菜單項(xiàng),如圖3.16所示,之后彈出“刪除”確認(rèn)對(duì)話框,選
13、中“級(jí)聯(lián)約束條件”復(fù)選框,單擊“應(yīng)用”按鈕,彈出表已刪除的提示消息,單擊“確定”按鈕即可。3.2.2 表數(shù)據(jù)操作表數(shù)據(jù)操作1插入記錄插入記錄首先,啟動(dòng)SQL Developer,打開(kāi)myorcl連接(需要輸入SCOTT用戶口令),展開(kāi)“表”目錄,單擊“XSB”表,在右邊窗口中單擊“數(shù)據(jù)”選項(xiàng)卡,切換到表數(shù)據(jù)窗口,如圖3.17所示。3.2.2 表數(shù)據(jù)操作表數(shù)據(jù)操作說(shuō)明:在輸入“出生時(shí)間”列數(shù)據(jù)時(shí),Oracle 11g默認(rèn)的日期格式為“DD-MM 月-YY”,例如,日期“1997-02-10”應(yīng)該輸入“10-2月-97”。為能使用我們所習(xí)慣的輸入方式,這里先要修改一下數(shù)據(jù)庫(kù)默認(rèn)的日期格式,在SQL
14、 Developer命令窗口中執(zhí)行如下語(yǔ)句(具體操作見(jiàn)稍后的3.2.3節(jié)):ALTER SESSIONSET NLS_DATE_FORMAT = YYYY-MM-DD;3.2.2 表數(shù)據(jù)操作表數(shù)據(jù)操作輸入完一行數(shù)據(jù)后,單擊 (提交更改)按鈕將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中,同時(shí)下方的“消息 - 日志”子窗口列出用于插入數(shù)據(jù)的INSERT語(yǔ)句,如圖3.18所示。3.2.2 表數(shù)據(jù)操作表數(shù)據(jù)操作2修改記錄修改記錄修改記錄的方法與插入類似,在“數(shù)據(jù)”選項(xiàng)頁(yè)找到要修改的記錄所在行,修改后該行的行號(hào)前會(huì)出現(xiàn)一個(gè)“*”號(hào),如圖3.19所示,更改完成單擊“提交”按鈕保存修改的數(shù)據(jù)。3.2.2 表數(shù)據(jù)操作表數(shù)據(jù)操作3刪除
15、記錄刪除記錄如果要?jiǎng)h除一行記錄,選中該行,單擊 (刪除所選行)按鈕,之后該行的行號(hào)前會(huì)出現(xiàn)一個(gè)“-”號(hào),如圖3.20所示,單擊“提交”按鈕確認(rèn)刪除。3.2.2 表數(shù)據(jù)操作表數(shù)據(jù)操作4撤銷操作撤銷操作如果需要撤銷之前對(duì)表中記錄所做的操作,只需在單擊“提交”按鈕之前單擊 (回退)按鈕即可,如圖3.21所示,為撤銷上一步的刪除操作。3.2.3 執(zhí)行執(zhí)行SQL命令命令使用SQL Developer不僅可以以圖形界面方式操作數(shù)據(jù)庫(kù)表中的記錄,還可以直接編輯和運(yùn)行SQL語(yǔ)句。啟動(dòng)SQL Developer,單擊工具欄 按鈕的右下箭頭選擇“myorcl”,界面上將出現(xiàn)命令編輯區(qū),如圖3.22所示,在其中輸入
16、要運(yùn)行的SQL語(yǔ)句,如下:CREATE TABLE XSB(學(xué)號(hào) char(6) NOT NULL PRIMARY KEY,姓名 char(8) NOT NULL,性別 char(2) DEFAULT 男 NOT NULL,出生時(shí)間 date NOT NULL,專業(yè) char(12) NULL,總學(xué)分 number(2) NULL,備注 varchar2(200) NULL);3.2.3 執(zhí)行執(zhí)行SQL命令命令圖3.22 在SQL Developer中運(yùn)行SQL語(yǔ)句3.2.3 執(zhí)行執(zhí)行SQL命令命令這里是以執(zhí)行創(chuàng)建表的CREATE TABLE命令(稍后在3.3節(jié)中詳細(xì)介紹)為例,操作前須先刪除
17、之前已創(chuàng)建的XSB表,輸完命令后單擊窗口上方的 或 按鈕即可執(zhí)行該SQL語(yǔ)句重新創(chuàng)建XSB表。表建好后,往其中錄入樣本數(shù)據(jù)(見(jiàn)附錄A)以備后用,如圖3.23所示。3. 3 命令方式操作數(shù)據(jù)庫(kù)(采用命令方式操作數(shù)據(jù)庫(kù)(采用SQL*Plus)3.3.1 創(chuàng)建表創(chuàng)建表在以自己的模式創(chuàng)建表時(shí),必須擁有CREATE TABLE系統(tǒng)權(quán)限;在其他用戶模式下創(chuàng)建表時(shí),必須擁有CREATE ANY TABLE系統(tǒng)權(quán)限。Oracle創(chuàng)建表使用CREATE TABLE語(yǔ)句,基本的語(yǔ)法格式為:CREATE TABLE . ( DEFAULT DEFAULT ,n,n)AS 3.3.1 創(chuàng)建表創(chuàng)建表說(shuō)明:說(shuō)明:(1):
18、用戶方案是指該表所屬的用戶,如果省略則默認(rèn)為當(dāng)前登錄的用戶。(2)DEFAULT:關(guān)鍵字DEFAULT指定某一列的默認(rèn)值。默認(rèn)值的數(shù)據(jù)類型必須與該列的數(shù)據(jù)類型相匹配,列的長(zhǎng)度必須足以容納這一表達(dá)式值。(3):定義一個(gè)完整性約束作為列定義的一部分,該子句的語(yǔ)法為:NOT NULLUNIQUE PRIMARY KEY REFERENCES . ()CHECK()(4):定義一個(gè)完整性約束作為表定義的一部分。(5)AS :表示將由子查詢返回的行插入到所創(chuàng)建的表中,子查詢的使用將在4.2.2節(jié)中具體介紹。3.3.1 創(chuàng)建表創(chuàng)建表【例3.1】 利用CREATE TABLE命令為XSCJ數(shù)據(jù)庫(kù)建立表KCB
19、。表結(jié)構(gòu)參照表3.4。CREATE TABLE KCB(課程號(hào) char(3) NOT NULL PRIMARY KEY,課程名 char(16) NOT NULL,開(kāi)課學(xué)期 number(1) NULL,學(xué)時(shí) number(2) NULL, 學(xué)分 number(1)NOT NULL)3.3.1 創(chuàng)建表創(chuàng)建表創(chuàng)建完畢,用命令“DESCRIBE KCB;”可查看KCB表結(jié)構(gòu),如圖3.24所示。3.3.1 創(chuàng)建表創(chuàng)建表如果表的主鍵由兩個(gè)或多個(gè)列構(gòu)成,則必須使用PRIMARY KEY關(guān)鍵字定義為表的完整性約束,語(yǔ)法格式如下:CREATE TABLE ( DEFAULT ,nPRIMARY KEY(,
20、 ,.n)3.3.1 創(chuàng)建表創(chuàng)建表【例3.2】 利用CREATE TABLE命令為XSCJ數(shù)據(jù)庫(kù)建立表CJB。表結(jié)構(gòu)參照表3.5。CREATE TABLE CJB( 學(xué)號(hào) char(6) NOT NULL,課程號(hào) char(3) NOT NULL,成績(jī) number(2) NULL,PRIMARY KEY(學(xué)號(hào), 課程號(hào)) )同樣可用命令“DESCRIBE CJB;”查看CJB表結(jié)構(gòu)。3.3.1 創(chuàng)建表創(chuàng)建表【例3.3】 創(chuàng)建XSB表中計(jì)算機(jī)專業(yè)學(xué)生的記錄備份表,表名為XS_JSJ。CREATE TABLE XS_JSJAS SELECT * FROM XSBWHERE 專業(yè)= 計(jì)算機(jī) ;創(chuàng)建
21、完畢,可用SQL Developer查看結(jié)果,如圖3.25所示,可以看到XS_JSJ表中存儲(chǔ)(備份)了XSB表中計(jì)算機(jī)專業(yè)全部11名學(xué)生的記錄。3.3.2 修改表修改表修改表結(jié)構(gòu)使用ALTER TABLE語(yǔ)句,語(yǔ)法格式為:ALTER TABLE . ADD( DEFAULT 列約束,n) /*增加新列*/ MODIFY( DEFAULT 列約束,n) /*修改已有列屬性*/ /*刪除列或約束條件*/3.3.2 修改表修改表說(shuō)明:說(shuō)明:(1)ADD子句:用于向表中增加一個(gè)新列,新的列定義和創(chuàng)建表時(shí)定義列的格式一樣,一次可添加多個(gè)列,中間用逗號(hào)隔開(kāi)。(2)MODIFY子句:用于修改表中某列的屬性(
22、數(shù)據(jù)類型、默認(rèn)值等)。在修改數(shù)據(jù)類型時(shí)需要注意,如果表中該列所存數(shù)據(jù)的類型與將要修改的列類型沖突,則會(huì)發(fā)生錯(cuò)誤。例如,原來(lái)char類型的列要修改為number類型,而原來(lái)列值中有字符型數(shù)據(jù)“a”,則無(wú)法修改。(3)DROP子句:該子句用于從表中刪除指定的字段或約束,語(yǔ)法格式為:DROP COLUMN PRIMARY KEY UNIQUE (,n) CONSTRAINT CASCADE 3.3.2 修改表修改表【例3.4】 使用ALTER TABLE語(yǔ)句修改XSCJ數(shù)據(jù)庫(kù)中的XS_JSJ表。(1)在表XS_JSJ中增加兩列:獎(jiǎng)學(xué)金等級(jí)、等級(jí)說(shuō)明。ALTER TABLE XS_JSJADD (獎(jiǎng)學(xué)
23、金等級(jí) number(1),等級(jí)說(shuō)明 varchar2(40) DEFAULT 獎(jiǎng)金1000元);運(yùn)行結(jié)果如圖3.26所示。3.3.2 修改表修改表(2)在XS_JSJ表中修改“等級(jí)說(shuō)明”列的默認(rèn)值。ALTER TABLE XS_JSJMODIFY (等級(jí)說(shuō)明 DEFAULT 獎(jiǎng)金800元 );運(yùn)行語(yǔ)句后,打開(kāi)SQL Developer的“編輯表”窗口查看XS_JSJ表的列屬性,可見(jiàn)“等級(jí)說(shuō)明”列的默認(rèn)值已改為“獎(jiǎng)金800元”,如圖3.27所示。3.3.2 修改表修改表(3)在表XS_JSJ中刪除“獎(jiǎng)學(xué)金等級(jí)”和“等級(jí)說(shuō)明”列。ALTER TABLE XS_JSJDROP COLUMN 獎(jiǎng)學(xué)金
24、等級(jí);ALTER TABLE XS_JSJDROP COLUMN 等級(jí)說(shuō)明;運(yùn)行結(jié)果如圖3.28所示。3.3.2 修改表修改表(4)為XS_JSJ表添加主鍵。ALTER TABLE XS_JSJADD (CONSTRAINT PK_JSJ PRIMARY KEY(學(xué)號(hào)) );運(yùn)行語(yǔ)句后,打開(kāi)SQL Developer的“編輯表”窗口,可以看到“學(xué)號(hào)”列已被設(shè)為主鍵,如圖3.29所示。3.3.3 刪除表刪除表語(yǔ)法格式:DROP TABLE . 例如要?jiǎng)h除表XS_JSJ,使用如下語(yǔ)句:DROP TABLE XS_JSJ;執(zhí)行結(jié)果如圖3.30所示。3.3.4 插入記錄插入記錄1INSERT語(yǔ)句語(yǔ)句插
25、入記錄一般使用INSERT語(yǔ)句,語(yǔ)法格式為:INSERT INTO (,n) VALUES(,n)該語(yǔ)句的功能是向指定的表中加入一行,由VALUES指定各列的值?!纠?.5】 向XSCJ數(shù)據(jù)庫(kù)的表XSB中插入如下的一行:151114 周何駿 計(jì)算機(jī) 男 1998-09-25 90可以使用如下的SQL語(yǔ)句:INSERT INTO XSB(學(xué)號(hào), 姓名, 性別, 出生時(shí)間, 專業(yè), 總學(xué)分) VALUES(151114, 周何駿, 男,TO_DATE(19980925,YYYYMMDD), 計(jì)算機(jī), 90);或者執(zhí)行下列命令的效果相同:INSERT INTO XSB VALUES(151114,
26、周何駿, 男, 1998-09-25, 計(jì)算機(jī), 90, NULL);然后再運(yùn)行COMMIT命令:COMMIT;3.3.4 插入記錄插入記錄最后,使用SELECT語(yǔ)句查詢是否添加了該行記錄:SELECT 學(xué)號(hào), 姓名, 性別, 出生時(shí)間, 專業(yè), 總學(xué)分 FROM XSBWHERE 學(xué)號(hào)= 151114;運(yùn)行結(jié)果如圖3.31所示。3.3.4 插入記錄插入記錄【例3.6】 向具有默認(rèn)值字段的表中插入記錄。創(chuàng)建一個(gè)具有默認(rèn)值字段的表test:CREATE TABLE test(姓名 char(20) NOT NULL, 專業(yè) varchar2(30) DEFAULT(計(jì)算機(jī)), 年級(jí) number
27、 NOT NULL);用INSERT向test表中插入一條記錄:INSERT INTO test(姓名, 年級(jí)) VALUES(周何駿, 3);3.3.4 插入記錄插入記錄運(yùn)行結(jié)果如圖3.32所示。利用INSERT語(yǔ)句還可以把一個(gè)表中的部分?jǐn)?shù)據(jù)插入到另一個(gè)表中,但結(jié)果集中每行數(shù)據(jù)的字段數(shù)、字段的數(shù)據(jù)類型要與被操作的表完全一致,語(yǔ)法格式為:INSERT INTO 3.3.4 插入記錄插入記錄【例3.7】 用如下的CREATE語(yǔ)句建立表XSB1:CREATE TABLE XSB1( num char(6) NOT NULL, name char(8) NOT NULL, speiality cha
28、r(12) NULL);然后用INSERT語(yǔ)句向XSB1表中插入數(shù)據(jù),如下:INSERT INTO XSB1 SELECT 學(xué)號(hào), 姓名, 專業(yè) FROM XSB WHERE 姓名= 王林;3.3.4 插入記錄插入記錄這條INSERT語(yǔ)句將XSB表中姓名為“王林”的所有學(xué)生的學(xué)號(hào)、姓名和專業(yè)名列的值插入到XSB1表的各行中。運(yùn)行結(jié)果如圖3.33所示。3.3.4 插入記錄插入記錄2MERGE語(yǔ)句語(yǔ)句在Oracle 12c中有MERGE語(yǔ)句,用于根據(jù)與源表聯(lián)接的結(jié)果,對(duì)目標(biāo)表執(zhí)行插入、更新或刪除操作。例如,根據(jù)在一個(gè)表中找到的差異在另一個(gè)表中插入、更新或刪除行,這種方法可以對(duì)兩個(gè)表進(jìn)行信息同步。語(yǔ)
29、法格式如下:MERGE INTO USING ON ()WHEN MATCHED THEN UPDATE SET| DELETEWHEN NOT MATCHED THEN INSERT() VALUES()3.3.4 插入記錄插入記錄【例3.8】 創(chuàng)建表a,將XSB表中的數(shù)據(jù)添加至該表。創(chuàng)建表a的語(yǔ)句如下:CREATE TABLE a( XH char(6)NOT NULL PRIMARY KEY, XM char(8) NOT NULL, XB char(2) NOT NULL, CSSJ date NOT NULL, ZY char(12) NULL, ZXF number(2) NULL, BZvarchar(200) NULL);進(jìn)行信息同步使用如下語(yǔ)句:MERGE INTO aUSING XSB ON (a.XH=XSB.學(xué)號(hào))WHEN MATCHED THEN UPDATE SET a.XM=XSB.姓名, a.XB=XSB.性別, a.CSSJ=XSB.出生時(shí)間,a.ZY=XSB.專業(yè), a.ZXF=XSB.總學(xué)分, a.BZ=XSB.備注WHEN NOT MATCHEDTHEN INSERT VALUES(XSB.學(xué)號(hào),XSB.姓名,XSB.性別,XSB.出生時(shí)間,XSB.專業(yè),XSB.總學(xué)分, XSB.備注);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球3D生物打印植入物行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2024年軍隊(duì)文職人員招聘考試題庫(kù)二
- 2025年度旅游產(chǎn)業(yè)轉(zhuǎn)型升級(jí)個(gè)人咨詢服務(wù)協(xié)議
- 2025版文化產(chǎn)業(yè)投資合作開(kāi)發(fā)協(xié)議3篇
- 2025版住宅小區(qū)物業(yè)委托維護(hù)管理協(xié)議3篇
- 二零二五年度藝術(shù)場(chǎng)地租賃合同中的藝術(shù)創(chuàng)作與展覽指導(dǎo)2篇
- 二零二五年度阿拉爾經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)環(huán)保產(chǎn)業(yè)合作開(kāi)發(fā)合同3篇
- 2024版影視器材租賃合同下載
- 2025版房地產(chǎn)銷售合同標(biāo)準(zhǔn)模板
- 2024糯玉米采購(gòu)協(xié)議書(shū)
- 開(kāi)工第一課安全培訓(xùn)內(nèi)容
- 經(jīng)顱磁刺激增強(qiáng)定神狀態(tài)的研究
- 部編版小學(xué)語(yǔ)文五年級(jí)下冊(cè)集體備課教材分析主講
- 電氣設(shè)備建筑安裝施工圖集
- 《工程結(jié)構(gòu)抗震設(shè)計(jì)》課件 第10章-地下建筑抗震設(shè)計(jì)
- 公司法務(wù)部工作細(xì)則(草案)
- 第18課《文言文二則 鐵杵成針》(學(xué)習(xí)任務(wù)單)- 四年級(jí)語(yǔ)文下冊(cè)部編版
- 《功能材料概論》期末考試試卷及參考答案2023年12月
- 機(jī)器設(shè)備抵押合同
- 超聲科質(zhì)量控制制度及超聲科圖像質(zhì)量評(píng)價(jià)細(xì)則
- 腹瀉的護(hù)理課件
評(píng)論
0/150
提交評(píng)論