數(shù)據(jù)庫基本原理和應用_第1頁
數(shù)據(jù)庫基本原理和應用_第2頁
數(shù)據(jù)庫基本原理和應用_第3頁
數(shù)據(jù)庫基本原理和應用_第4頁
數(shù)據(jù)庫基本原理和應用_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理及應用主要內(nèi)容數(shù)據(jù)庫基本概念數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)查詢數(shù)據(jù)操作表和視圖基本概念數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫是在計算機上組織、存儲和共享數(shù)據(jù)的措施,數(shù)據(jù)庫系統(tǒng)是由一般的文件系統(tǒng)發(fā)展而來的。數(shù)據(jù)庫系統(tǒng)具有較高的數(shù)據(jù)獨立性,即不依賴于特定的數(shù)據(jù)庫應用程序;數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)冗余小,能夠節(jié)省數(shù)據(jù)的存儲空間;另外數(shù)據(jù)庫系統(tǒng)還很輕易實現(xiàn)多種顧客的數(shù)據(jù)共享。數(shù)據(jù)庫系統(tǒng)成熟的標志就是數(shù)據(jù)庫管理系統(tǒng)的出現(xiàn)。數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagermentSystem,簡稱DBMS)是對數(shù)據(jù)庫的一種完整和統(tǒng)一的管理和控制機制。數(shù)據(jù)庫管理系統(tǒng)不但讓我們能夠?qū)崿F(xiàn)對數(shù)據(jù)的迅速檢索和維護,還為數(shù)據(jù)的安全性、完整性、并發(fā)控制和數(shù)據(jù)恢復提供了確保。數(shù)據(jù)庫管理系統(tǒng)的關(guān)鍵是一種用來存儲大量數(shù)據(jù)的數(shù)據(jù)庫。目錄數(shù)據(jù)庫基本概念數(shù)據(jù)查詢基本語法條件查詢高級查詢數(shù)據(jù)操作表和視圖數(shù)據(jù)庫查詢語言SQL主要特點:SQL語言能夠在Oracle數(shù)據(jù)庫中創(chuàng)建、存儲、更新、檢索和維護數(shù)據(jù),其中主要的功能是實現(xiàn)數(shù)據(jù)的查詢和數(shù)據(jù)的插入、刪除、修改等操作。SQL語言在書寫上類似于英文,簡潔清楚,易于了解。它由關(guān)鍵字、表名、字段名,體現(xiàn)式等部分構(gòu)成。分類:SQL語言按功能可分為DDL語言、DML語言、DCL語言和數(shù)據(jù)庫事務處理語言四個類別。SQL語言的主要關(guān)鍵字有:ALTER、DROP、REVOKE、AUDIT、GRANT、ROLLBACK、COMMIT、INSERT、SELECT、COMMENT、LOCK、UPDATE、CREATE、NOAUDIT、VALIDATE、DELETE、RENAME等。SQL語言的分類按照SQL語言的不同功用,能夠進一步對SQL語言進行劃分。下表給出了SQL語言的分類和功能簡介。查詢語句是最常見的SQL語句,它從給定的表中,把滿足條件的內(nèi)容檢索出來。如下是最基本的SELECT語句語法。SELECT(字段名列表|*)FROM表名[WHERE條件];SELECT為查詢語句的關(guān)鍵字,該關(guān)鍵字不能省略。字段名列表代表要查詢的字段。FROM也是查詢語句關(guān)鍵字,背面跟要查詢的表名,該關(guān)鍵字不能省略。WHERE條件限定檢索特定的統(tǒng)計,滿足“條件”的統(tǒng)計被顯示出來,不滿足條件的被過濾掉。語句查詢的成果往往是表的一部分行和列。假如字段名列表使用*,將檢索全部的字段。假如省略WHERE條件,將檢索全部的統(tǒng)計。SELECT*FROMempWHEREdeptno=10;SQL查詢語句基本查詢語句1基本查詢select*fromdept;2顯示行號ROWNUMoracle特有的每個表都有一種虛列ROWNUM,它用來顯示成果中統(tǒng)計的行號。我們在查詢中也能夠顯示這個列。SELECTrownum,enameFROMemp;select*from(selectrownumno,id,namefromstudent)whereno>2;select*from(selectrownumno,id,namefromstudentwhererownum<=3)whereno>=2;

whererownum>XXX不能輸出成果,因為where每次去select時遇到不符合的就直接刪除,所以num一直不能滿足條件。但是能夠先將rownum搜出來后形成一種虛表,再調(diào)用。3顯示計算列在查詢語句中能夠有算術(shù)體現(xiàn)式,它將形成一種新列,用于顯示計算的成果,一般稱為計算列。體現(xiàn)式中能夠涉及列名、算術(shù)運算符和括號。括號用來變化運算的優(yōu)先順序。常用的算術(shù)運算符涉及:+:加法運算符。?:減法運算符。*:乘法運算符。/:除法運算符?;静樵冋Z句4連接運算符在前面,我們使用到了涉及數(shù)值運算的計算列,顯示成果也是數(shù)值型的。我們也能夠使用字符型的計算列,措施是在查詢中使用連接運算。連接運算符是雙豎線“||”。經(jīng)過連接運算能夠?qū)蓚€字符串連接在一起。5使用別名as我們能夠為表的列起一種別名,它的好處是,能夠變化表頭的顯示。尤其是對于計算列,能夠為它起一種簡樸的列別名以替代計算體現(xiàn)式在表頭的顯示。闡明:表頭顯示的是列別名,轉(zhuǎn)換為中文顯示。在列名和別名之間要用AS分隔,如ename和它的別名“名稱”之間用AS隔開。AS也能夠省略,如sal和它的別名“工資”之間用空格分割。注意:假如用空格分割,要區(qū)別好列名和別名,前面為列名,背面是別名。別名假如具有空格或特殊字符或大小寫敏感,需要使用雙引號將它引起來?;静樵冋Z句6.消除反復行假如在顯示成果中存在反復行,能夠使用的關(guān)鍵字DISTINCT消除反復顯示。SELECTDISTINCTjobFROMemp;7.查詢成果的排序SELECT字段列表FROM表名WHERE條件ORDERBY字段名1[ASC|DESC][,字段名[ASC|DESC]...];ASC升序(默認)|DESC降序SELECTename,salFROMempORDERBYsal;能夠按多列進行排序,先按第一列,然后按第二列假如要對計算列排序,能夠為計算列指定別名,然后按別名排序。Eg:select*fromemporderbymgrasc,hiredatedesc;條件查詢簡樸條件查詢要對顯示的行進行限定,可在FROM從句后使用WHERE從句,在WHERE從句中給出限定的條件,因為限定條件是一種體現(xiàn)式,所以稱為條件體現(xiàn)式。條件體現(xiàn)式中能夠涉及比較運算,體現(xiàn)式的值為真的統(tǒng)計將被顯示。例子:…條件查詢復合條件查詢能夠用邏輯運算符構(gòu)成復合的條件查詢,即把兩個或多種條件,用邏輯運算符連接成一種條件。有3個邏輯運算符,如下表所示。運算的優(yōu)先順序是NOT,AND,OR。假如要變化優(yōu)先順序,能夠使用括號。特殊條件查詢Between..andInIs[Not]NullLIKE使用LIKE操作符可完畢按通配符查找字符串的查詢操作,該操作符適合于對數(shù)據(jù)進行模糊查詢。其語句法為:[NOT]LIKE匹配模式匹配模式中除了能夠涉及固定的字符之外,還能夠涉及如下的通配符:%:代表0個或多種任意字符。_:代表一種任意字符。目錄數(shù)據(jù)庫基本概念數(shù)據(jù)查詢基本語法條件查詢高級查詢數(shù)據(jù)操作表和視圖高級查詢多表聯(lián)合查詢經(jīng)過連接能夠建立多表查詢,多表查詢的數(shù)據(jù)能夠來自多種表,但是表之間必須有合適的連接條件。為了從多張表中查詢,必須辨認連接多張表的公共列。一般是在WHERE子句中用比較運算符指明連接的條件。忘記闡明表的連接條件是常見的一種錯誤,這時查詢將會產(chǎn)生表連接的笛卡爾積(即一種表中的每條統(tǒng)計與另一種表中的每條統(tǒng)計作連接產(chǎn)生的成果)。一般N個表進行連接,需要至少N-1個連接條件,才干夠正確連接。兩個表連接是最常見的情況,只需要闡明一種連接條件。相等連接。不等連接。外連接。自連接。 子查詢我們可能會提出這么的問題,在雇員中誰的工資比SCOTT高??第一步查詢雇員SCOTT的工資第二步查詢工資高于SCOTT的雇員。經(jīng)過把一種查詢的成果作為另一種查詢的一部分,能夠?qū)崿F(xiàn)這么的查詢功能。第一種查詢能夠作為第二個查詢的一部分出目前第二個查詢的條件中,這就是子查詢。出目前其他查詢中的查詢稱為子查詢,涉及其他查詢的查詢稱為主查詢。子查詢一般出目前SELECT語句的WHERE子句中,Oracle也支持在FROM或HAVING子句中出現(xiàn)子查詢。子查詢比主查詢先執(zhí)行,成果作為主查詢的條件,在書寫上要用圓括號擴起來,并放在比較運算符的右側(cè)。子查詢能夠嵌套使用,最里層的查詢最先執(zhí)行。子查詢能夠在SELECT、INSERT、UPDATE、DELETE等語句中使用。目錄數(shù)據(jù)庫基本概念數(shù)據(jù)查詢數(shù)據(jù)操作表和視圖數(shù)據(jù)庫操作語句DML數(shù)據(jù)庫操作語句插入數(shù)據(jù)能夠使用INSERT命令,向已經(jīng)存在的表插入數(shù)據(jù),語法格式如下:INSERTINTO表名[(字段列表)]{VALUES(體現(xiàn)式1,體現(xiàn)式2,...)|QUERY語句};修改數(shù)據(jù)修改數(shù)據(jù)的語句UPDATE對表中指定字段的數(shù)據(jù)進行修改,一般需要經(jīng)過添加WHERE條件來限定要進行修改的行,假如不添加WHERE條件,將對全部的行進行修改。(1)修改數(shù)據(jù)的語句UPDATE的基本語法如下:UPDATE表名SET字段名1=體現(xiàn)式1,字段名2=體現(xiàn)式2,...WHERE條件;(2)UPDATE語句的另外一種使用方法:UPDATE表名SET(字段名1,字段名2,...)=SELECT(字段名1,字段名2,...)FROM另外的表名WHERE條件;刪除數(shù)據(jù)DELETEFROM表名WHERE條件;目錄數(shù)據(jù)庫基本概念數(shù)據(jù)查詢數(shù)據(jù)操作表和視圖表的創(chuàng)建和操作Oracle數(shù)據(jù)庫對象表的創(chuàng)建CREATETABLE表名(列名數(shù)據(jù)類型(寬度)[DEFAULT體現(xiàn)式][COLUMNCONSTRAINT],... [TABLECONSTRAINT] [TABLE_PARTITION_CLAUSE]);由此可見,創(chuàng)建表最主要的是要闡明表名、列名、列的數(shù)據(jù)類型和寬度,多列之間用“,”分隔。能夠是用中文或英文作為表名和列名。表名最大長度為30個字符。在同一種顧客下,表不能重名,但不同顧客表的名稱能夠相重。另外,表的名稱不能使用Oracle的保存字。在一張表中最多能夠涉及2023列。該語法中的其他部分根據(jù)需要添加,作用如下:DEFAULT體現(xiàn)式:用來定義列的默認值。COLUMNCONSTRAINT:用來定義列級的約束條件。TABLECONSTRAINT:用來定義表級的約束條件。TABLE_PARTITION_CLAUSE:定義表的分區(qū)子句。表的創(chuàng)建和刪除經(jīng)過子查詢創(chuàng)建表假如要創(chuàng)建一種同已經(jīng)有的表構(gòu)造相同或部分相同的表,能夠采用如下的語法: CREATETABLE表名(列名...)ASSQL查詢語句;該語法既能夠復制表的構(gòu)造,也能夠復制表的內(nèi)容,并能夠為新表命名新的列名。新的列名在表名后的括號中給出,假如省略將采用原來表的列名。復制的內(nèi)容由查詢語句的WHERE條件決定。刪除已創(chuàng)建的表 DROPTABLE表名[CASCADECONSTRAINTS]; 表的刪除者必須是表的創(chuàng)建者或具有DROPANYTABLE權(quán)限。CASCADECONSTRAINTS表達當要刪除的表被其他表參照時,刪除參照此表的約束條件。有關(guān)內(nèi)容請參照下一節(jié)。表的操作表的重命名RENAME舊表名TO新表名;清空表TRUNCATETABLE表名;DDL清空表可刪除表的全部數(shù)據(jù)并釋放占用的存儲空

溫馨提示

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

評論

0/150

提交評論