數(shù)據(jù)庫系統(tǒng)概論:第4章 關系數(shù)據(jù)庫標準語言——SQL語言2_第1頁
數(shù)據(jù)庫系統(tǒng)概論:第4章 關系數(shù)據(jù)庫標準語言——SQL語言2_第2頁
數(shù)據(jù)庫系統(tǒng)概論:第4章 關系數(shù)據(jù)庫標準語言——SQL語言2_第3頁
數(shù)據(jù)庫系統(tǒng)概論:第4章 關系數(shù)據(jù)庫標準語言——SQL語言2_第4頁
數(shù)據(jù)庫系統(tǒng)概論:第4章 關系數(shù)據(jù)庫標準語言——SQL語言2_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、4.4 數(shù)據(jù)操縱4.4.1 插入數(shù)據(jù) 當基本表建立以后,就可以使用INSERT語句向表中插入數(shù)據(jù)了。INSERT語句有兩種插入形式:插入單個元組和插入多個元組(插入子查詢結果)。11插入單個元組 向基本表中插入數(shù)據(jù)的語法格式如下: INSERT INTO (,)VALUES(,) 2注意:(1)向表中插入數(shù)據(jù)之前,表的結構必須已經(jīng)創(chuàng)建。(2)插入的數(shù)據(jù)及列名之間用逗號分開。(3)在INSERT語句中列名是可以選擇指定的,如果沒有指定列名,則表示這些列按表中或視圖中列的順序和個數(shù)。(4)插入值的數(shù)據(jù)類型、個數(shù)、前后順序必須與表中屬性列的數(shù)據(jù)類型、個數(shù)、前后順序匹配。3列名說明數(shù)據(jù)類型完整性約束S

2、no 學生編號Char,長度為8主鍵sname學生姓名Char,長度為10uniquesex學生性別Char,長度為3not nullage學生年齡IntAge16dept學生系別Varchar,長度為15無創(chuàng)建學生表student,表的結構如下:4【例4-63】向?qū)W生表中插入一個新的學生記錄。方法一:省略所有列名 INSERT INTO Student VALUES (05880111, 張曉三, 男,23, 數(shù)學系);方法二:指出所有列名 INSERT INTO student(Sno,Sname,Sex,Age,Dept) VALUES (05880111, 張曉三, 男,23, 數(shù)學系

3、); 兩種方法的作用是相同的。5【例4-64】向?qū)W生表中指定的屬性列插入數(shù)據(jù) INSERT INTO Student(Sno,Sname,Sex)VALUES (05880112, 王曉五, 女); 其中,沒有插入數(shù)據(jù)的屬性列的值均為空值。62插入多個元組向基本表中插入數(shù)據(jù)的語法格式如下: INSERT INTO (, ,) 子查詢;7【例4-65】如果已經(jīng)創(chuàng)建了課程平均成績記錄表course_avg(cno,ave),其中ave表示每門課程的平均成績,向course_avg表中插入每門課程的平均成績。INSERT INTO Course_avg(Cno,Ave)SELECT Cno, AVG

4、(Grade)FROM SCGROUP BY Cno;84.4.2 修改數(shù)據(jù) 如果表中的數(shù)據(jù)出現(xiàn)錯誤,可以利用UPDATE命令進行修改。UPDATE語句用以修改滿足指定條件的元組信息。 9UPDATE語句一般語法格式為:UPDATE SET = , = WHERE ; 其中,UPDATE關鍵字用于定位修改哪一張表,SET關鍵字用于定位修改這張表中的哪些屬性列,WHERE用于定位修改這些屬性列當中的哪些行。101修改某一個元組的值【例4-66】將java課程的學分改為4學分。 UPDATE Course SET Credit=4 WHERE Cname=java;112修改多個元組的值【例4-6

5、7】將所有男同學的年齡增加2歲。 UPDATE Student SET Age=Age+2 WHERE Sex=男;【例4-68】 將所有課程的學分減1。 UPDATE Course SET Credit=Credit-1;123帶子查詢的更新【例4-69】將所有選修java課程的學生成績改為0分。 UPDATE SC SET Grade=0 WHERE java= (SELECT Cname FROM Course WHERE Course.Cno=SC.Cno);134.4.3 刪除數(shù)據(jù) 如果不再需要學生選課系統(tǒng)中的某些數(shù)據(jù),此時應該刪除這些數(shù)據(jù),以釋放其所占用的存儲空間。14DELETE

6、語句的一般語法格式為: DELETE FROM WHERE ; DELETE語句的功能是從指定表中刪除滿足WHERE的所有元組。如果省略WHERE,表示刪除表中全部的元組信息。 DELETE語句只刪除表中的數(shù)據(jù),而不能刪除表的結構,所以表的定義仍然在數(shù)據(jù)字典中。151刪除某一個元組的值【例4-70】刪除學號為“05880110”的學生記錄。 DELETE FROM Student WHERE Sno= 05880110 ;162刪除多個元組的值【例4-71】刪除學號為“05880102”學生的選課記錄。 DELETE FROM SC WHERE Sno=05880102; 每一個學生可能選修多

7、門課程,所以DELETE語句會刪除這個學生的多條選課記錄?!纠?-72】刪除所有學生的選課記錄。 DELETE FROM SC;173帶子查詢的刪除【例4-73】刪除張三同學的選課記錄。 DELETE FROM SC WHERE 張三= ( SELECT Sname FROM Student WHERE Student.Sno=SC.Sno);18課外附加知識:SQL函數(shù)函數(shù)有兩種類型:單行函數(shù)、組函數(shù)(也叫做聚組函數(shù)) 單行函數(shù):只操作一行,并且每一行返回一個結果。單行函 數(shù)從表中取出數(shù)據(jù)之前就知道要處理的參數(shù)個數(shù)。 聚組函數(shù):直到所有的數(shù)據(jù)從表中抽取出來并且組成一個分類 時才知道要處理的參

8、數(shù)個數(shù)。 19一、單行函數(shù) 根據(jù)函數(shù)值的數(shù)據(jù)類型可劃分為:數(shù)值函數(shù)、字符函數(shù)、日期函數(shù)、轉(zhuǎn)換函數(shù)、其它函數(shù)以及程序員編寫的存儲函數(shù)。 201、單行字符函數(shù)函數(shù) 描述 CONCAT 拼接兩個字符串,與運算符 | 相等 INSTR 在一個字符串中找到另一個字符串的數(shù)字型的開始位置 LENGTH 統(tǒng)計一個字符串的長度 LOWER 將字符串的所有字符轉(zhuǎn)換成小寫 UPPER 將字符串的所有字符轉(zhuǎn)換成大寫 SUBSTR 返回一個字符串中從某一字符位置開始特定長度的子串 21SELECT INSTR(mississippi,i,3,3) FROM dual;SELECT CONCAT(slobo,svobo

9、da) username FROM dual; SELECT length(ipso facto) ergo FROM dual; SELECT lower(TOM and jack) from dual; SELECT upper(TOM and jack) from dual; SELECT SUBSTR(message,1,4)sub FROM dual;字符函數(shù)例題:222、單行數(shù)字函數(shù) 函數(shù) 描述 ABS 返回絕對值 ROUND 四舍五入 SORT 返回一個數(shù)的平方根 TRUNC 截斷一個數(shù) 23SELECT ABS(-52) NEGATIVE, ABS(52) POSITIVE F

10、ROM DUAL; SELECT ROUND(1234.5678,-2), ROUND(1234.5678,2) FROM DUAL; SELECT SQRT(64), SQRT(49) FROM DUAL; SELECT TRUNC(123.456,2) POS, TRUNC(123.456,-1) NEG FROM DUAL;數(shù)字函數(shù)例題:243、單行日期函數(shù)函數(shù) 描述 SYSDATE 返回當前系統(tǒng)日期 ADD_MONTHS 給日期加幾個月 LAST_DAY 返回某一個月的最后一天 MONTHS_BETWEEN 返回兩個日期之間相差的月數(shù) NEXT_DAY 返回某個日期后的第一個星期幾的日期 25select sysdate from dual;SELECT sysdate,add_months(sysdate,3) FROM dual;SELECT last_day(sysdate) dd FROM dual; SELECT months_between(31-12月-10,sysdate) from dual;SELECT next_day(SYSDATE,星期五) FROM dual; 日期函數(shù)例題:264、單

溫馨提示

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

評論

0/150

提交評論