欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:第一章:數(shù)據(jù)庫的創(chuàng)建和操作

柚子快報激活碼778899分享:第一章:數(shù)據(jù)庫的創(chuàng)建和操作

http://yzkb.51969.com/

???個人主頁:小新_-

?個人座右銘:“成功者不是從不失敗的人,而是從不放棄的人!”?

?歡迎各位→點贊? + 收藏?? + 留言?

?所屬專欄:Oracle網(wǎng)絡數(shù)據(jù)庫?歡迎訂閱,持續(xù)更新中~~~

? ? ? ? ? ? ? ? ? ? ???

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??讓小新帶著你快樂的學習吧~?

目錄

一、以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)

二、以界面方式操作數(shù)據(jù)庫(采用SQL Developer)

(一)表操作

1.表的概念

2.數(shù)據(jù)類型

3.表結(jié)構(gòu)設計

?編輯

4.創(chuàng)建表

5.修改表

6.刪除表

(二)表數(shù)據(jù)操作

1、插入記錄

2、修改記錄

3、刪除記錄

4、撤銷操作

(三)執(zhí)行SQL命令

三、以命令方式操作數(shù)據(jù)庫(采用SQL *Plus)

1、創(chuàng)建表

2、修改表

?編輯

?編輯

?編輯

3、刪除表

4、插入記錄

?編輯

5、刪除記錄

6、修改記錄

一、以界面方式創(chuàng)建數(shù)據(jù)庫(采用DBCA)

在Oracle 11g中,以界面方式創(chuàng)建數(shù)據(jù)庫主要使用數(shù)據(jù)庫配置向?qū)BCA(Database Configuration Assistant)來完成。下面使用DBCA創(chuàng)建學生成績管理數(shù)據(jù)庫XSCJ,步驟如下。 (1)啟動DBCA,出現(xiàn)“歡迎使用”界面,如圖所示,單擊“下一步”按鈕進入創(chuàng)建數(shù)據(jù)庫的向?qū)А?/p>

(2)在“操作”窗口中,用戶可以選擇要執(zhí)行的操作,這里選中“創(chuàng)建數(shù)據(jù)庫”選項,如圖所示,單擊“下一步”按鈕。

3)在“數(shù)據(jù)庫模板”窗口中,選擇相應選項后單擊“顯示詳細資料”按鈕可查看該數(shù)據(jù)庫模板的各種信息。這里選擇“一般用途或事務處理”選項,如圖所示,單擊“下一步”按鈕。

4)在“數(shù)據(jù)庫標識”窗口中輸入“全局數(shù)據(jù)庫名”和“SID”,如圖所示,單擊“下一步”按鈕。

說明:SID是數(shù)據(jù)庫實例的唯一標識符,創(chuàng)建系統(tǒng)服務和操作數(shù)據(jù)庫時都要用到。SID在同一數(shù)據(jù)庫服務器中必須是唯一的。

(5)在“管理選項”窗口中可以選擇配置Enterprise Manager企業(yè)管理器或者配置Database Control管理本地數(shù)據(jù)庫,這里保持默認設置,如圖所示,單擊“下一步”按鈕。

(6)在“數(shù)據(jù)庫身份證明”窗口中,將所有賬戶設置為同一管理口令(Mm123456),如圖所示,單擊“下一步”按鈕。

(7)在“數(shù)據(jù)庫文件所在位置”窗口中,選擇“所有數(shù)據(jù)庫文件使用公共位置”,單擊“瀏覽”按鈕選擇數(shù)據(jù)庫文件的存放路徑,如圖所示,單擊“下一步”按鈕。

(8)在“恢復配置”窗口中采取默認的配置,單擊“下一步”按鈕繼續(xù)。

(9)在“數(shù)據(jù)庫內(nèi)容”窗口中勾選“示例方案”,如圖3.8所示,這樣就可以在學習的過程中參考標準設置,也可了解基礎(chǔ)的數(shù)據(jù)庫創(chuàng)建方法和SQL語言。如果你有SQL腳本,還可以在這一步加載,系統(tǒng)會根據(jù)腳本在這個數(shù)據(jù)庫中創(chuàng)建用戶、表空間、表、權(quán)限等,但要注意,加載SQL腳本的先后順序一定要正確。這里暫不加載腳本,直接單擊“下一步”按鈕。

(10)在“初始化參數(shù)”和“數(shù)據(jù)庫存儲”窗口中也保持默認配置,兩次單擊“下一步”按鈕。

(11)在“創(chuàng)建選項”窗口中選擇“創(chuàng)建數(shù)據(jù)庫”選項,如圖3.9所示,單擊“完成”按鈕,之后會彈出確認創(chuàng)建的對話框,單擊“確定”按鈕開始創(chuàng)建數(shù)據(jù)庫。

(12)創(chuàng)建數(shù)據(jù)庫期間顯示的創(chuàng)建進度窗口如圖3.10所示,過程較為漫長,讀者要耐心地等待……

(13)創(chuàng)建數(shù)據(jù)庫完畢后,系統(tǒng)會彈出窗口顯示相關(guān)的提示信息,如圖3.11所示,需要在這一步解鎖SCOTT、SYSTEM、SYS賬戶并設置其口令,單擊窗口中的“口令管理”按鈕,彈出“口令管理”對話框。

找到以上三個用戶賬戶,將“是否鎖定賬戶?”一欄里的“J”去掉,口令均設為 Mm123456,? 該口令用于后面登錄和操作數(shù)據(jù)庫,請讀者務必牢記!單擊“確定”按鈕返回后單擊“退出”按鈕。 至此,所有步驟都已全部完成?,F(xiàn)在,系統(tǒng)服務中應該已經(jīng)有 SID 為 XSCJ 的服務選項并已置為“自動”啟動,服務正在運行,如圖3.12 所示,訪問 XSCJ 數(shù)據(jù)庫前必須保證已啟動了這兩個系統(tǒng)服務:OracleOraDbllg homeITNSListener 和 OracleServiceXSCJ。

二、以界面方式操作數(shù)據(jù)庫(采用SQL Developer)

(一)表操作

表是Oracle系統(tǒng)中最主要的數(shù)據(jù)庫對象,每個數(shù)據(jù)庫都包含了若干個表。表是用來存儲數(shù)據(jù)的一種邏輯結(jié)構(gòu),由行和列組成,故也稱為二維表。

1.表的概念

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

學????號 姓????名 性????別 出?生?時?間 專????業(yè) 總??學??分 備????注 151101 王林 男 1997-02-10 計算機 50 151103 王燕 女 1996-10-06 計算機 50 151108 林一帆 男 1996-08-05 計算機 52 已提前修完一門課 151202 王林 男 1996-01-29 通信工程 40 有一門課不及格,待補考 151204 馬琳琳 女 1996-02-10 通信工程 42

關(guān)系數(shù)據(jù)庫使用表(即關(guān)系)來表示實體及其聯(lián)系。表包含下列概念。

表結(jié)構(gòu):每個表都包含一組固定的列,而列由數(shù)據(jù)類型(DATATYPE)和長度(LENGTH)兩部分組成,以描述該表所代表的實體的屬性。記錄:每個表包含了若干行數(shù)據(jù),它們是表的“值”,其中的一行稱為一個記錄,因此,表是記錄的有限集合。字段:每個記錄由若干個數(shù)據(jù)項構(gòu)成,將構(gòu)成記錄的數(shù)據(jù)項稱為字段。關(guān)鍵字:若表中記錄的某個字段或字段組合能唯一標識記錄,則稱該字段(字段組合)為候選關(guān)鍵字(Candidate key)。若一個表有多個候選關(guān)鍵字,則選定其中一個為主關(guān)鍵字(Primary key),也稱為主鍵。當一個表僅有唯一一個候選關(guān)鍵字時,該候選關(guān)鍵字就是主關(guān)鍵字。這里的主關(guān)鍵字與第1章中介紹的主碼所起的作用是相同的,都用來唯一標識記錄行。

2.數(shù)據(jù)類型

在設計表的列時,必須為其指定數(shù)據(jù)類型,它決定了該列數(shù)據(jù)的取值、范圍和存儲格式。列的數(shù)據(jù)類型可以是Oracle提供的系統(tǒng)數(shù)據(jù)類型,其中主要的類型列于表中。除了表中所列外,Oracle還提供可作為ANSI標準數(shù)據(jù)類型的替代類型。對于ANSI的CHARACTER及CHAR,使用Oracle的CHAR類型;對于ANSI的CHARACTER VARYING及CHAR VARYING,使用Oracle的VARCHAR2類型;對于ANSI的NUMERIC、DECIMAL、DEC、INTEGER、INT和SMALLINT類型,使用Oracle的NUMBER類型。用戶還可以創(chuàng)建自己的抽象數(shù)據(jù)類型,也可以使用特定的REF數(shù)據(jù)類型,這些REF類型引用數(shù)據(jù)庫其他地方的行對象。

3.表結(jié)構(gòu)設計

創(chuàng)建表的實質(zhì)就是定義表結(jié)構(gòu)以及設置表和列的屬性。在創(chuàng)建表之前,先要確定表的名字、表的屬性,同時確定表所包含的列名、列的數(shù)據(jù)類型、長度、是否可為空值、約束條件、默認值設置、規(guī)則以及所需索引、哪些列是主鍵、哪些列是外鍵等屬性,這些屬性構(gòu)成表結(jié)構(gòu)。 這里要使用到的學生成績管理系統(tǒng)的三個表,即學生表(表名為XSB)、課程表(表名為KCB)和成績表(表名為CJB)為例介紹如何設計表的結(jié)構(gòu)。 基礎(chǔ)部分使用的學生表(XSB)包含的列有學號、姓名、性別、出生時間、專業(yè)、總學分、備注。為便于理解,使用中文的列名(實際開發(fā)應使用英文字母表示列名)。其中,“學號”列的數(shù)據(jù)是學生的學號,其值有一定的意義,例如“151101”中“15”表示該生所在年級,“11”表示所屬班級,“01”表示該生在班級中的序號,故“學號”列的數(shù)據(jù)類型是6位的定長字符型;“姓名”列記錄學生的姓名,一般不超過4個中文字符,所以可以用8位定長字符型數(shù)據(jù);“性別”列有“男”、“女”兩種取值,用2位定長字符型數(shù)據(jù),默認是“男”;“出生時間”是日期時間類型數(shù)據(jù),列的數(shù)據(jù)類型定為date;“專業(yè)”列為12位定長字符型數(shù)據(jù);“總學分”列是整數(shù)型數(shù)據(jù),列的數(shù)據(jù)類型定為number,長度為2(故值在0~100之間,默認是0);“備注”列需要存放學生的備注信息,備注信息的內(nèi)容在0~200個字之間,所以應該使用varchar2類型。

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

列????名 數(shù)?據(jù)?類?型 是?否?可?空 默??認??值 說????明 學號 char(6) × 無 主鍵 姓名 char(8) × 無 性別 char(2) × “男” 出生時間 date × 無 專業(yè) char(12) √ 無 總學分 number(2) √ 0 0?≤總學分<100 備注 varchar2(200) √ 無

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

列????名 數(shù)?據(jù)?類?型 是?否?可?空 默??認??值 說????明 課程號 char(3) × 無 主鍵 課程名 char(16) × 無 開課學期 number(1) √ 1 只能為1~8 學時 number(2) √ 0 學分 number(1) × 0

4.創(chuàng)建表

用Oracle 11g自帶的SQL Developer工具可以十分靈活地創(chuàng)建表。這里以創(chuàng)建XSB表為例,操作的步驟如下。

(1)啟動SQL Developer,在“連接”節(jié)點下打開數(shù)據(jù)庫連接myorcl(已創(chuàng)建)。右擊“表”節(jié)點,選擇“新建表”菜單項。

(2)進入“創(chuàng)建表”窗口,在“名稱”欄中填寫表名XSB,在“表”選項卡的“列名”、“類型”、“大小”、“非空”、“主鍵”欄中分別填入(選擇)XSB表中“學號”列的列名、數(shù)據(jù)類型、長度、非空性和是否為主鍵等信息,完成后單擊“添加列”按鈕輸入下一列,直到輸入完所有的列為止,如圖所示。

說明:如果數(shù)據(jù)類型當中沒有char類型可選,可在“高級”選項中將varchar2修改為char類型。

5.修改表

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

6.刪除表

以刪除XSB表為例,在“表”目錄下右擊XSB表選擇“表”菜單下的“刪除”子菜單項,如圖所示,之后彈出“刪除”對話框,選中“級聯(lián)約束條件”復選框,單擊“應用”按鈕,彈出表已刪除的提示消息,單擊“確定”按鈕即可。

(二)表數(shù)據(jù)操作

創(chuàng)建數(shù)據(jù)庫和表后,需要對表中的數(shù)據(jù)進行操作,包插插入、刪除和修改,這些操作可以直接在 SQL Developer 中實現(xiàn)。下面使用已創(chuàng)建的XSCJ 數(shù)據(jù)庫中的XSB 表為例說明表數(shù)據(jù)操作的方法。

1、插入記錄

首先,啟動SQL Developer,打開myorcl連接(需要輸入SCOTT用戶口令),展開“表”目錄,單擊“XSB”表,在右邊窗口中單擊“數(shù)據(jù)”選項卡,切換到表數(shù)據(jù)窗口,如圖3.17所示。在此窗口中,表中的記錄按行顯示,每個記錄占一行,因為此時表中尚沒有數(shù)據(jù),故只能看到一行列標題。

單擊 ? (插入行)按鈕,表中將增加一個新行,在新行中雙擊一列空白處后輸入數(shù)據(jù),一行數(shù)據(jù)輸完后單擊表數(shù)據(jù)窗口左邊的行號,即選中該行,使之成為當前行。 說明:在輸入“出生時間”列數(shù)據(jù)時,Oracle 11g默認的日期格式為“DD-MM 月-YY”,例如,日期“1997-02-10”應該輸入“10-2月-97”。為能使用我們所習慣的輸入方式,這里先要修改一下數(shù)據(jù)庫默認的日期格式,在SQL Developer命令窗口中執(zhí)行如下語句

ALTER SESSION ?? ?SET NLS_DATE_FORMAT = "YYYY-MM-DD";

注意:該語句只能在當前會話中起作用,在下一次再打開 SOL Developer窗口時,還需要重新執(zhí)行該語句。

輸入完一行數(shù)據(jù)后,單擊 ?(提交)按鈕將數(shù)據(jù)保存到數(shù)據(jù)庫中,同時下方的“Data Editor - 日志”子窗口列出用于插入數(shù)據(jù)的INSERT語句,如圖3.18所示。如果保存成功,還會顯示“提交成功”信息;如果保存出錯,則顯示錯誤信息。接著再單擊“插入行”按鈕錄入下一行,直到全部數(shù)據(jù)錄完為止。

2、修改記錄

修改記錄的方法與插入類似,在“數(shù)據(jù)”選項頁找到要修改的記錄所在行,修改后該行的行號前會出現(xiàn)一個“*”號,如圖所示,更改完成單擊“提交”按鈕保存修改的數(shù)據(jù)。

3、刪除記錄

如果要刪除一行記錄,選中該行,單擊 ?(刪除所選行)按鈕,之后該行的行號前會出現(xiàn)一個“-”號,如圖所示,單擊“提交”按鈕確認刪除。

4、撤銷操作

如果需要撤銷之前對表中記錄所做的操作,只需在單擊“提交”按鈕之前單擊?(回退)按鈕即可,如圖所示,為撤銷上一步的刪除操作。

(三)執(zhí)行SQL命令

使用SQL Developer不僅可以以圖形界面方式操作數(shù)據(jù)庫表中的記錄,還可以直接編輯和運行SQL語句。啟動SQL Developer,單擊工具欄 ? ? ? 按鈕的右下箭頭選擇“myorcl”,界面上將出現(xiàn)命令編輯區(qū),如圖所示,在其中輸入要運行的SQL語句,如下:

這里是以執(zhí)行創(chuàng)建表的CREATE TABLE命令(稍后在3.3節(jié)中詳細介紹)為例,操作前須先刪除之前已創(chuàng)建的XSB表,輸完命令后單擊窗口上方的 ? 或 ? ? 按鈕即可執(zhí)行該SQL語句重新創(chuàng)建XSB表。表建好后,往其中錄入樣本數(shù)據(jù)(見圖)以備后用

三、以命令方式操作數(shù)據(jù)庫(采用SQL *Plus)

1、創(chuàng)建表

在以自己的模式創(chuàng)建表時,必須擁有CREATE TABLE系統(tǒng)權(quán)限;在其他用戶模式中創(chuàng)建表時,必須擁有CREATE ANY TABLE系統(tǒng)權(quán)限。Oracle創(chuàng)建表使用CREATE TABLE語句,基本的語法格式為:

CREATE TABLE [<用戶方案名>.] <表名>

(

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

<列名2> <數(shù)據(jù)類型> [DEFAULT <默認值>] [<列約束>]

[,…n]

<表約束>[,…n]

)

[AS <子查詢>]

說明:

(1)<用戶方案名>:用戶方案是指該表所屬的用戶,如果省略則默認為當前登錄的用戶。

(2)DEFAULT:關(guān)鍵字DEFAULT指定某一列的默認值。默認值的數(shù)據(jù)類型必須與該列的數(shù)據(jù)類型相匹配,列的長度必須足以容納這一表達式值。

(3)<列約束>:定義一個完整性約束作為列定義的一部分,該子句的語法為:

[NOT] NULL

[UNIQUE]

[ PRIMARY KEY]

[ REFERENCES [<用戶方案名>.] <表名>(<列名>)]

[CHECK(<條件表達式>)]

(4)<表約束>:定義一個完整性約束作為表定義的一部分,有關(guān)完整性約束的內(nèi)容會在后面詳細介紹。

(5)AS <子查詢>:表示將由子查詢返回的行插入到所創(chuàng)建的表中,子查詢的使用將在后面具體介紹。使用AS子句時,要注意以下事項。

① 表中的列數(shù)必須等于子查詢中的表達式數(shù)。② 列的定義只能指定列名、默認值和完整性約束,不能指定數(shù)據(jù)類型。③ 不能在含有AS子句的CREATE TABLE語句中定義引用完整性。

相反,必須先創(chuàng)建沒有約束的表,然后再用ALTER TABLE語句來添加約束。 Oracle從子查詢中推導出數(shù)據(jù)類型和長度,同時也遵循下列完整性約束規(guī)則。

① 如果子查詢選擇列而不是包含列的表達式,Oracle自動地為新表中的列定義任何NOT NULL約束,該列與被選表中的列相一致。② 如果CREATE TABLE語句同時包含AS子句和CONSTRAINT子句,Oracle就忽略AS子句。

如果子查詢中的全部表達式是列,則在表定義中可完全忽略這些列。在這種情況下,表的列名和子查詢中的列名相同。

【例】 ?利用CREATE TABLE命令為XSCJ數(shù)據(jù)庫建立表KCB。表結(jié)構(gòu)參照表KCB。

CREATE TABLE KCB

(

課程號 char(3) NOT NULL PRIMARY KEY,

課程名 char(16) NOT NULL,

開課學期 number(1) NULL,

學時 number(2) NULL,

學分 number(1) NOT NULL

);

創(chuàng)建完畢,用命令“DESCRIBE KCB;”可查看KCB表結(jié)構(gòu),如圖所示

如果表的主鍵由兩個或多個列構(gòu)成,則必須使用PRIMARY KEY關(guān)鍵字定義為表的完整性約束,語法格式如下:

CREATE TABLE <表名>

(

<列名1> <數(shù)據(jù)類型> [DEFAULT <默認值>] [<列約束>] [,…n]

PRIMARY KEY(<列名1>, <列名2>[,...n])

)

【例】 ?利用CREATE TABLE命令為XSCJ數(shù)據(jù)庫建立表CJB。表結(jié)構(gòu)參照表CJB。

CREATE TABLE CJB

(

學號 char(6) NOT NULL,

課程號 char(3) NOT NULL,

成績 number(2) NULL,

PRIMARY KEY(學號, 課程號)

)

【例】 ?創(chuàng)建XSB表中計算機專業(yè)學生的記錄備份表,表名為XS_JSJ。

CREATE TABLE XS_JSJ

AS SELECT *

FROM XSB

WHERE 專業(yè)= '計算機' ;

創(chuàng)建完畢,可用SQL Developer查看結(jié)果,如圖3.25所示,可以看到XS_JSJ表中存儲(備份)了XSB表中計算機專業(yè)全部11名學生的記錄。

2、修改表

修改表結(jié)構(gòu)使用ALTER TABLE語句,語法格式為:

ALTER TABLE [<用戶方案名>.] <表名>

[ ADD(<新列名> <數(shù)據(jù)類型> [DEFAULT <默認值>][列約束],…n) ] /*增加新列*/

[ MODIFY([ <列名> [<數(shù)據(jù)類型>] [DEFAULT <默認值>][列約束],…n) ] /*修改已有列屬性*/

[ ] /*刪除列或約束條件*/

說明:

(1)ADD子句:用于向表中增加一個新列,新的列定義和創(chuàng)建表時定義列的格式一樣,一次可添加多個列,中間用逗號隔開。

(2)MODIFY子句:用于修改表中某列的屬性(數(shù)據(jù)類型、默認值等)。在修改數(shù)據(jù)類型時需要注意,如果表中該列所存數(shù)據(jù)的類型與將要修改的列類型沖突,則會發(fā)生錯誤。例如,原來char類型的列要修改為number類型,而原來列值中有字符型數(shù)據(jù)“a”,則無法修改。

(3)DROP子句:該子句用于從表中刪除指定的字段或約束,語法格式為:

DROP {

COLUMN <列名>

∣PRIMARY [KEY]

∣UNIQUE (<列名>,…n)

∣CONSTRAINT <約束名>

∣[ CASCADE ]

}

其中各個關(guān)鍵字的含義如下:

PRIMARY:刪除表的主鍵。CONSTRAINT:刪除完整性約束。CASCADE:刪除其他所有的完整性約束,這些約束依賴于被刪除的完整性約束。?UNIQUE:刪除指定列上的UNIQUE約束。COLUMN:刪除指定的列

下面通過例子說明ALTER TABLE語句的使用,為了不破壞XSB表結(jié)構(gòu),這里只對它的備份XS_JSJ表執(zhí)行修改操作。

【例】 ?使用ALTER TABLE語句修改XSCJ數(shù)據(jù)庫中的XS_JSJ表。

(1)在XS_JSJ表中增加兩列:獎學金等級、等級說明。

ALTER TABLE XS_JSJ

ADD (獎學金等級 number(1),

等級說明 varchar2(40) DEFAULT '獎金1000元');

(2)在XS_JSJ表中修改“等級說明”列的默認值。

ALTER TABLE XS_JSJ

MODIFY (等級說明 DEFAULT '獎金800元' );

運行語句后,打開SQL Developer的“編輯表”窗口查看XS_JSJ表的列屬性,可見“等級說明”列的默認值已改為“獎金800元”,如圖所示。

(3)在XS_JSJ表中刪除“獎學金等級”和“等級說明”列。

ALTER TABLE XS_JSJ

DROP COLUMN 獎學金等級;

ALTER TABLE XS_JSJ

DROP COLUMN 等級說明;

(4)為XS_JSJ表添加主鍵。

ALTER TABLE XS_JSJ

ADD (CONSTRAINT "PK_JSJ" PRIMARY KEY(學號) );

3、刪除表

語法格式為:

DROP TABLE [<用戶方案名>.] <表名>

例如要刪除表XS_JSJ,使用如下語句:

DROP TABLE XS_JSJ;

4、插入記錄

1.INSERT語句

插入記錄一般使用INSERT語句,語法格式為:

INSERT INTO <表名>[(<列名1>,<列名2>,…n)]

VALUES(<列值1>,<列值2>,…n)

該語句的功能是向指定的表中加入一行,由VALUES指定各列的值。

相關(guān)參數(shù)說明如下:

在插入時,列值表必須與列名表順序和數(shù)據(jù)類型一致。如果不指定表名后面的列名列表,則在VALUES子句中要給出每一列的值,VALUES中的值要與原表中字段的順序和數(shù)據(jù)類型一致,而且不能缺少字段項。VALUES中描述的值可以是一個常量、變量或一個表達式。字符串類型的字段必須用單引號括起來,字符串轉(zhuǎn)換函數(shù)TO_DATE把字符串形式的日期型數(shù)據(jù)轉(zhuǎn)換成Oracle 11g規(guī)定的合法的日期型數(shù)據(jù)。如果列值為空,則值必須置為NULL。如果列值指定為該列的默認值,則用DEFAULT。這要求定義表時必須指定該列的默認值。在對表進行插入行操作時,若新插入的行中所有可取空值的列值均取空值,則可以在INSERT語句中通過列表指出插入的行值中所包含非空的列,而在VALUES中只要給出這些列的值即可。

【例】 ?向XSCJ數(shù)據(jù)庫的表XSB中插入如下一行: ?? ??? ?

151114 ?周何駿 ?計算機 ?男 ?1998-09-25 ?90 可以使用如下SQL語句:

INSERT INTO XSB(學號, 姓名, 性別, 出生時間, 專業(yè), 總學分)

VALUES('151114', '周何駿', '男',TO_DATE('19980925','YYYYMMDD'), '計算機', 90);

//或者下面這樣,也是一樣的效果

INSERT INTO XSB

VALUES('151114', '周何駿', '男', '1998-09-25', '計算機', 90, NULL);

【例】 向具有默認值字段的表中插入記錄。 創(chuàng)建一個具有默認值字段的表test:

CREATE TABLE test

(

姓名 char(20) NOT NULL,

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

年級 number NOT NULL

);

用INSERT向test表中插入一條記錄:

INSERT INTO test(姓名, 年級) VALUES('周何駿', 3);

利用INSERT語句還可以把一個表中的部分數(shù)據(jù)插入到另一個表中,但結(jié)果集中每行數(shù)據(jù)的字段數(shù)、字段的數(shù)據(jù)類型要與被操作的表完全一致,語法格式為:

INSERT INTO <表名>

<結(jié)果集>

其中,<結(jié)果集>是一個由SELECT語句查詢所得到的新表。利用該參數(shù),可把一個表中的部分數(shù)據(jù)插入指定的另一表,有關(guān)結(jié)果集的使用在后面還會介紹。

【例】 ?用如下的CREATE語句建立XSB1表:

CREATE TABLE XSB1

(

num char(6) NOT NULL,

name char(8) NOT NULL,

speciality char(12) NULL

);

然后用INSERT語句向XSB1表中插入數(shù)據(jù),如下:

INSERT INTO XSB1

SELECT 學號, 姓名, 專業(yè)

FROM XSB

WHERE 姓名= '王林';

這條INSERT語句將XSB表中姓名為“王林”的所有學生的學號、姓名和專業(yè)名列的值插入到XSB1表的各行中。運行結(jié)果如圖所示。

2.MERGE語句

在Oracle 11g中有MERGE語句,用于根據(jù)與源表連接的結(jié)果,對目標表執(zhí)行插入、更新或刪除操作。例如,根據(jù)在一個表中找到的差異在另一個表中插入、更新或刪除行,這種方法可以對兩個表進行信息同步。語法格式如下:

MERGE INTO <目標表名>

USING <源表名> ON (<條件表達式>)

WHEN MATCHED THEN { UPDATE SET…| DELETE…}

WHEN NOT MATCHED THEN INSERT(…) VALUES(…)

說明:

USING子句:指定用于更新的源數(shù)據(jù)表。ON子句:指定在源表與目標表之間進行連接時所遵循的條件。WHEN MATCHED子句:這個子句表示在應用了ON子句的條件后,目標表存在與源表匹配的行時,對這些行在THEN子句中指定修改或刪除的操作。其中THEN子句中,UPDATE SET用于修改滿足條件的行,DELETE關(guān)鍵字用于刪除滿足條件的行。WHEN NOT MATCHED子句:WHEN NOT MATCH子句指定對于源表中滿足了ON子句中條件的每一行,如果該行與目標表中的行不匹配,則向目標表中插入這行數(shù)據(jù)。要插入的數(shù)據(jù)在THEN關(guān)鍵字后的INSERT子句中指定。

【例】 ?創(chuàng)建表a,將XSB表中的數(shù)據(jù)添加至該表。 創(chuàng)建表a的語句如下:

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,

BZ varchar(200) NULL

);

//進行信息同步使用如下語句:

MERGE INTO a

USING XSB ON (a.XH=XSB.學號)

WHEN MATCHED

THEN UPDATE SET a.XM=XSB.姓名, a.XB=XSB.性別, a.CSSJ=XSB.出生時間,

a.ZY=XSB.專業(yè), a.ZXF=XSB.總學分, a.BZ=XSB.備注

WHEN NOT MATCHED

THEN INSERT VALUES(XSB.學號,XSB.姓名,XSB.性別,XSB.出生時間,XSB.專業(yè),

XSB.總學分, XSB.備注);

運行上述語句后查看表a中的數(shù)據(jù),如圖所示,表a中已經(jīng)添加了XSB表中的全部數(shù)據(jù)。

5、刪除記錄

1.DELETE語句

語法格式為:

DELETE FROM <表名>

[WHERE <條件表達式>]

該語句的功能為從指定的表中刪除滿足條件的行,若省略WHERE子句,則表示刪除所有行。

【例】 ?將XSCJ數(shù)據(jù)庫的表a中ZXF(總學分)值小于50的行刪除,使用如下SQL語句。

DELETE FROM a

WHERE ZXF < 50;

運行結(jié)果如圖所示,可以看到,此時表a中只剩下12條ZXF值大于等于50的學生記錄,所有小于50的記錄都已被刪除。

2.TRANCATE TABLE語句

如果確實要刪除一個大表里的全部記錄,可以用TRUNCATE TABLE語句,它可以釋放占用的數(shù)據(jù)塊表空間,此操作不可回退。語法格式為:

TRUNCATE TABLE <表名>

由于TRUNCATE TABLE語句刪除表中的所有數(shù)據(jù)且不能恢復,所以使用時要謹慎。使用TRUNCATE TABLE刪除了指定表中的所有行,但表的結(jié)構(gòu)及其列、約束、索引等保持不變。TRUNCATE TABLE在功能上與不帶WHERE子句的DELETE語句相同,二者均刪除表中的全部行。但TRUNCATE TABLE執(zhí)行的速度比DELETE快。

6、修改記錄

UPDATE語句可以用來修改表中的數(shù)據(jù)行,語法格式為:

UPDATE <表名>

SET <列名>={<新值>|<表達式>} [,…n]

[WHERE <條件表達式>]

該語句在指定表的滿足條件的記錄中,由SET指定的各列的列值設置為SET指定的新值。若不使用WHERE子句,則更新所有記錄的指定列值。

【例】 ?將XSCJ數(shù)據(jù)庫的XSB表中學號為“151114”的學生備注列值置為“輔修計算機專業(yè)”,使用如下SQL語句:

UPDATE XSB

SET 備注='輔修計算機專業(yè)'

WHERE 學號='151114';

【例】 ?將表a中的所有學生的ZXF(總學分)都增加5。

UPDATE a

SET ZXF = ZXF + 5;

【例】 ?將XSB中姓名為“周何駿”的同學的專業(yè)改為“通信工程”,學號改為“151242”。

UPDATE XSB

SET 專業(yè)='通信工程',

學號='151242'

WHERE 姓名= '周何駿';

?

最后,感謝大家的觀看!Oracle網(wǎng)絡數(shù)據(jù)庫

柚子快報激活碼778899分享:第一章:數(shù)據(jù)庫的創(chuàng)建和操作

http://yzkb.51969.com/

參考文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19823532.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄