相關(guān)資源二章語(yǔ)句_第1頁(yè)
相關(guān)資源二章語(yǔ)句_第2頁(yè)
相關(guān)資源二章語(yǔ)句_第3頁(yè)
相關(guān)資源二章語(yǔ)句_第4頁(yè)
相關(guān)資源二章語(yǔ)句_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

SQL介紹

第二章SQL的分類結(jié)構(gòu)化查詢語(yǔ)言SQL——StructuredQueryLanguageSQL分類數(shù)據(jù)定義語(yǔ)言(DDL):Create,Drop,Alter,Truncate數(shù)據(jù)操作語(yǔ)言(DML):Update,Insert,Delete、Select數(shù)據(jù)控制語(yǔ)言(DCL):GrantRevoke事務(wù)控制語(yǔ)言mitrollbacksavepoint創(chuàng)建表語(yǔ)句CREATE格式CREATETABLE<表名> (<列名><數(shù)據(jù)類型>[列級(jí)完整性約束條件] [,<列名><數(shù)據(jù)類型>[列級(jí)完整性約束條件]]… [,<表級(jí)完整性約束條件>]); CREATETABLEStudent (snonumber(5), Snamevarchar2(20), Sgendervarchar2(2));修改表語(yǔ)句ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型>[完整性約束]][DROP<完整性約束名>][MODIFY<列名><數(shù)據(jù)類型>]; 修改表的語(yǔ)句例子向表添加新的列,修改列或者刪除列添加表約束和刪除表約束添加新列altertable表名add列名列類型刪除列altertablestudropcolumnsex;修改列的類型altertablestumodifysexvarchar(15);添加主鍵altertablestuaddprimarykey(id);添加外鍵alter

tableTEST2

add

constraintforeign_key_Nameforeign

key(NAME)

referencesemp(EMPNO);刪除表語(yǔ)句DROPTABLE<表名>DROPTABLEStudent數(shù)據(jù)操縱語(yǔ)言數(shù)據(jù)操縱命令I(lǐng)NSERT插入數(shù)據(jù)UPDATE修改數(shù)據(jù)DELETE刪除數(shù)據(jù)SELECT查詢數(shù)據(jù)查詢數(shù)據(jù)語(yǔ)法:select[All|Distinct]<目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]….from<表名或視圖名>[,<表名或視圖名>]…[where<條件表達(dá)式>][groupby<列名1>[having<條件表達(dá)式>]][orderby<列名2>[ASC|DESC]]查詢?nèi)苛蠸elect*fromEMP;

查詢選定列SELECTempno,ename,job,salfromemp;查詢經(jīng)過計(jì)算的列SELECTempno,ename,job,sal+100asraiseSalfromemp;查詢連接后的字符串Selectempno,ename||'isa'||jobasinfo,salfromemp;選擇表中的若干記錄Select*fromempwheresal>2000;

常用的查詢條件查詢條件謂詞比較=,>,<,>=,<=,!=,<>,NOT+上述比較運(yùn)算符確定范圍BETWEENAND,NOTBETWEENAND確定集合IN,NOTIN字符匹配LIKE,NOTLIKE空值ISNULL,ISNOTNULL多重條件AND,OR確定范圍SELECT*Fromempwheresalbetween2000and3000確定集合select*fromempwherejobin('MANAGER','ANALYST');字符匹配%代表任意長(zhǎng)度(長(zhǎng)度可以是0)的字符串_代表任意單個(gè)字符select*fromempwhereenamelike'_A%';使用聚集函數(shù)為了進(jìn)一步方便用戶,增強(qiáng)檢索功能,SQL提供了許多聚集函數(shù),主要有函數(shù)功能Count([Distinct|ALL]*)統(tǒng)計(jì)記錄個(gè)數(shù)Count([Distinct|ALL]<列名>)統(tǒng)計(jì)一列中值的個(gè)數(shù)SUM([Distinct|ALL]<列名>)計(jì)算一列的總和(必須是數(shù)值型)AVG([Distinct|ALL]<列名>)計(jì)算一列的平均值(必須是數(shù)值型)MAX([Distinct|ALL]<列名>)求一列中的最大值MIN([Distinct|ALL]<列名>)求一列中的最小值聚集函數(shù)例子對(duì)查詢結(jié)果分組GROUPBY子句將查詢結(jié)果表按某一列或多列值分組,值相等的為一組。分組查詢常用于統(tǒng)計(jì),比如說統(tǒng)計(jì)出每個(gè)班級(jí)的人數(shù),統(tǒng)計(jì)每個(gè)部門的平均工資等分組的例子2-1SELECTjob,avg(sal)fromempgroupbyjob;分組的例子2-2selectjob,count(*),avg(sal)fromempgroupbyjobhavingcount(*)>3;HAVING短語(yǔ)指定選擇組的條件,只有滿足條件(即記錄個(gè)數(shù)>3)的組才會(huì)被選出來WHERE子句與HAVING短語(yǔ)的區(qū)別在于作用的對(duì)象不同,WHERE子句作用于基本表或視圖,從中選擇滿足條件的記錄。HAVAING作用于組,從中選擇滿足條件的組對(duì)查詢結(jié)果排序用戶可以用Orderby子句對(duì)查詢結(jié)果按照一個(gè)或多個(gè)屬性列的升序(ASC)或降序(DESC)排序,缺省為升序Select*fromempwheredeptno=10orderbysaldesc;插入記錄INSERT語(yǔ)法 INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]VALUES(<常量1>[,<常量2>]….)插入子查詢結(jié)果語(yǔ)法:INSERTINTO<表名>[<屬性列1>[,<屬性列2>…]子查詢插入記錄例子INSERTINTOStudentVALUES(‘95020’,‘曹操’,’男’,25)INSERTINTOStudent(Sno,name,sex)VALUES(‘95252’,’許三多’,’男’);INSERTINTOStudentSELECT*fromNew_Student修改數(shù)據(jù)語(yǔ)法UPDATE<表名>SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]…[WHERE<條件>];修改數(shù)據(jù)的例子UPDATEStudentSETSage=Sage+1;UPDATEStudentsetSage=22WHERESno=‘85001’;刪除數(shù)據(jù)語(yǔ)法DELETEFROM<表名>[WHERE<條件>]刪除數(shù)據(jù)的例子DELETEFROMStudentWhereSno=‘95019’;DELETEFROMStudent;Oracle默認(rèn)用戶只有用合法的用戶帳號(hào)才能訪問Oracle數(shù)據(jù)庫(kù)Oracle有幾個(gè)默認(rèn)的數(shù)據(jù)庫(kù)用戶

Oracle默認(rèn)用戶SYSSYSTEMSCOTT數(shù)據(jù)庫(kù)中所有數(shù)據(jù)字典表和視圖都存儲(chǔ)在SYS模式中。SYS用戶主要用來維護(hù)系統(tǒng)信息和管理實(shí)例。SYSTEM是默認(rèn)的系統(tǒng)管理員,該用戶擁有Oracle管理工具使用的內(nèi)部表和視圖。通常通過SYSTEM用戶管理數(shù)據(jù)庫(kù)用戶、權(quán)限和存儲(chǔ)等SCOTT用戶是Oracle數(shù)據(jù)庫(kù)的一個(gè)示范帳戶,在數(shù)據(jù)庫(kù)安裝時(shí)創(chuàng)建創(chuàng)建新用戶要連接到Oracle數(shù)據(jù)庫(kù),就需要?jiǎng)?chuàng)建一個(gè)用戶帳戶每個(gè)用戶都有一個(gè)默認(rèn)表空間和一個(gè)臨時(shí)表空間CREATEUSER命令用于創(chuàng)建新用戶CREATEUSER命令的語(yǔ)法是:CREATEUSERusernameIDENTIFIEDBYpassword[DEFAULTTABLESPACEtablespace][TEMPORARYTABLESPACEtablespace];CREATEUSERMARTINIDENTIFIEDBYmartinpwdDEFAULTTABLESPACEUSERSTEMPORARYTABLESPACETEMP;創(chuàng)建一個(gè)名稱為martin的用戶,其密碼為martinpwd更改和刪除用戶ALTERUSER命令可用于更改口令A(yù)LTERUSERMARTINIDENTIFIEDBYmartinpass;修改MARTIN用戶的密碼DROPUSER命令用于刪除用戶DROPUSERMARTINCASCADE;刪除MARTIN用戶模式授予權(quán)限3-1權(quán)限指的是執(zhí)行特定命令或訪問數(shù)據(jù)庫(kù)對(duì)象的權(quán)利權(quán)限有兩種類型,系統(tǒng)權(quán)限和對(duì)象權(quán)限系統(tǒng)權(quán)限允許用戶執(zhí)行某些數(shù)據(jù)庫(kù)操作,如創(chuàng)建表就是一個(gè)系統(tǒng)權(quán)限對(duì)象權(quán)限允許用戶對(duì)數(shù)據(jù)庫(kù)對(duì)象(如表、視圖、序列等)執(zhí)行特定操作角色是一組相關(guān)權(quán)限的組合,可以將權(quán)限授予角色,再把角色授予用戶,以簡(jiǎn)化權(quán)限管理。授予權(quán)限3-2GRANT命令可用于為用戶分配權(quán)限或角色GRANTCONNECTTOMARTIN;CONNECT角色允許用戶連接至數(shù)據(jù)庫(kù),并創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象GRANTRESOURCETOMARTIN;RESOURCE角色允許用戶使用數(shù)據(jù)庫(kù)中的存儲(chǔ)空間GRANTCREATESEQUENCETOMARTIN;此系統(tǒng)權(quán)限允許用戶在當(dāng)前模式中創(chuàng)建序列,此權(quán)限包含在CONNECT角色中對(duì)象授權(quán)Grant語(yǔ)句向用戶授予操作權(quán)限Grant<權(quán)限>[,<權(quán)限>]…[ON<對(duì)象類型><對(duì)象名>]TO<用戶>[,<用戶>]…[WITHGrantOption];將對(duì)指定操作對(duì)象的指定操作權(quán)限授予指定用戶。授予權(quán)限3-3授予用戶MARTIN操作TEST表對(duì)象的權(quán)限

GRANTSELECTONTESTTOMARTIN;允許用戶查詢TEST表的記錄GRANTUPDATEONTESTTOMARTIN;允許用戶更新TEST表中的記錄GRANTALL

ONTESTTOMARTIN;允許用戶插入、刪除、更新和查詢TEST表中的記錄事務(wù)所謂事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做要么全不做,是一個(gè)不可分割的工作單位。例如,銀行的轉(zhuǎn)帳業(yè)務(wù),A帳戶向B帳號(hào)中轉(zhuǎn)500元。A帳號(hào)B帳號(hào)1.從A帳號(hào)中-500元2.向B帳號(hào)中+500元事務(wù)的特性ACID原子性(Atomicity):事務(wù)是數(shù)據(jù)庫(kù)的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做一致性(Consistency):事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致狀態(tài)。隔離性(Isolation):一個(gè)事務(wù)的執(zhí)行不能被其它事務(wù)干擾,即一個(gè)事務(wù)內(nèi)部操作及使用的數(shù)據(jù)對(duì)其它并發(fā)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。持久性(Durability):指一個(gè)事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就是永久性的。事務(wù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論