版權(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)化查詢語言SQL——StructuredQueryLanguageSQL分類數(shù)據(jù)定義語言(DDL):Create,Drop,Alter,Truncate數(shù)據(jù)操作語言(DML):Update,Insert,Delete、Select數(shù)據(jù)控制語言(DCL):GrantRevoke事務(wù)控制語言mitrollbacksavepoint創(chuàng)建表語句CREATE格式CREATETABLE<表名> (<列名><數(shù)據(jù)類型>[列級(jí)完整性約束條件] [,<列名><數(shù)據(jù)類型>[列級(jí)完整性約束條件]]… [,<表級(jí)完整性約束條件>]); CREATETABLEStudent (snonumber(5), Snamevarchar2(20), Sgendervarchar2(2));修改表語句ALTERTABLE<表名>[ADD<新列名><數(shù)據(jù)類型>[完整性約束]][DROP<完整性約束名>][MODIFY<列名><數(shù)據(jù)類型>]; 修改表的語句例子向表添加新的列,修改列或者刪除列添加表約束和刪除表約束添加新列altertable表名add列名列類型刪除列altertablestudropcolumnsex;修改列的類型altertablestumodifysexvarchar(15);添加主鍵altertablestuaddprimarykey(id);添加外鍵alter
tableTEST2
add
constraintforeign_key_Nameforeign
key(NAME)
referencesemp(EMPNO);刪除表語句DROPTABLE<表名>DROPTABLEStudent數(shù)據(jù)操縱語言數(shù)據(jù)操縱命令I(lǐng)NSERT插入數(shù)據(jù)UPDATE修改數(shù)據(jù)DELETE刪除數(shù)據(jù)SELECT查詢數(shù)據(jù)查詢數(shù)據(jù)語法: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短語指定選擇組的條件,只有滿足條件(即記錄個(gè)數(shù)>3)的組才會(huì)被選出來WHERE子句與HAVING短語的區(qū)別在于作用的對(duì)象不同,WHERE子句作用于基本表或視圖,從中選擇滿足條件的記錄。HAVAING作用于組,從中選擇滿足條件的組對(duì)查詢結(jié)果排序用戶可以用Orderby子句對(duì)查詢結(jié)果按照一個(gè)或多個(gè)屬性列的升序(ASC)或降序(DESC)排序,缺省為升序Select*fromempwheredeptno=10orderbysaldesc;插入記錄INSERT語法 INSERTINTO<表名>[(<屬性列1>[,<屬性列2>…)]VALUES(<常量1>[,<常量2>]….)插入子查詢結(jié)果語法:INSERTINTO<表名>[<屬性列1>[,<屬性列2>…]子查詢插入記錄例子INSERTINTOStudentVALUES(‘95020’,‘曹操’,’男’,25)INSERTINTOStudent(Sno,name,sex)VALUES(‘95252’,’許三多’,’男’);INSERTINTOStudentSELECT*fromNew_Student修改數(shù)據(jù)語法UPDATE<表名>SET<列名>=<表達(dá)式>[,<列名>=<表達(dá)式>]…[WHERE<條件>];修改數(shù)據(jù)的例子UPDATEStudentSETSage=Sage+1;UPDATEStudentsetSage=22WHERESno=‘85001’;刪除數(shù)據(jù)語法DELETEFROM<表名>[WHERE<條件>]刪除數(shù)據(jù)的例子DELETEFROMStudentWhereSno=‘95019’;DELETEFROMStudent;Oracle默認(rèn)用戶只有用合法的用戶帳號(hào)才能訪問Oracle數(shù)據(jù)庫Oracle有幾個(gè)默認(rèn)的數(shù)據(jù)庫用戶
Oracle默認(rèn)用戶SYSSYSTEMSCOTT數(shù)據(jù)庫中所有數(shù)據(jù)字典表和視圖都存儲(chǔ)在SYS模式中。SYS用戶主要用來維護(hù)系統(tǒng)信息和管理實(shí)例。SYSTEM是默認(rèn)的系統(tǒng)管理員,該用戶擁有Oracle管理工具使用的內(nèi)部表和視圖。通常通過SYSTEM用戶管理數(shù)據(jù)庫用戶、權(quán)限和存儲(chǔ)等SCOTT用戶是Oracle數(shù)據(jù)庫的一個(gè)示范帳戶,在數(shù)據(jù)庫安裝時(shí)創(chuàng)建創(chuàng)建新用戶要連接到Oracle數(shù)據(jù)庫,就需要?jiǎng)?chuàng)建一個(gè)用戶帳戶每個(gè)用戶都有一個(gè)默認(rèn)表空間和一個(gè)臨時(shí)表空間CREATEUSER命令用于創(chuàng)建新用戶CREATEUSER命令的語法是: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ù)庫對(duì)象的權(quán)利權(quán)限有兩種類型,系統(tǒng)權(quán)限和對(duì)象權(quán)限系統(tǒng)權(quán)限允許用戶執(zhí)行某些數(shù)據(jù)庫操作,如創(chuàng)建表就是一個(gè)系統(tǒng)權(quán)限對(duì)象權(quán)限允許用戶對(duì)數(shù)據(jù)庫對(duì)象(如表、視圖、序列等)執(zhí)行特定操作角色是一組相關(guān)權(quán)限的組合,可以將權(quán)限授予角色,再把角色授予用戶,以簡(jiǎn)化權(quán)限管理。授予權(quán)限3-2GRANT命令可用于為用戶分配權(quán)限或角色GRANTCONNECTTOMARTIN;CONNECT角色允許用戶連接至數(shù)據(jù)庫,并創(chuàng)建數(shù)據(jù)庫對(duì)象GRANTRESOURCETOMARTIN;RESOURCE角色允許用戶使用數(shù)據(jù)庫中的存儲(chǔ)空間GRANTCREATESEQUENCETOMARTIN;此系統(tǒng)權(quán)限允許用戶在當(dāng)前模式中創(chuàng)建序列,此權(quán)限包含在CONNECT角色中對(duì)象授權(quán)Grant語句向用戶授予操作權(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ù)庫操作序列,這些操作要么全做要么全不做,是一個(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ù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做一致性(Consistency):事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(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ù)庫中數(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)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘭州加固施工方案(3篇)
- 元旦開年活動(dòng)策劃方案(3篇)
- 河南省焦作市2026屆高二數(shù)學(xué)第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 2026上海浦東新區(qū)基礎(chǔ)醫(yī)學(xué)院招聘教學(xué)科研人員19人備考題庫含答案詳解
- 銀行的控制制度
- 2026廣東東莞市沙田鎮(zhèn)社區(qū)衛(wèi)生服務(wù)中心第一期招聘納入崗位管理的編制外人員4人備考題庫及答案詳解1套
- 罕見腫瘤的個(gè)體化治療生活質(zhì)量干預(yù)措施實(shí)踐
- 積分財(cái)務(wù)制度
- 2026中電科金倉(北京)科技股份有限公司校園招聘?jìng)淇碱}庫及答案詳解參考
- 私企服裝行業(yè)財(cái)務(wù)制度
- 施工現(xiàn)場(chǎng)吊裝令標(biāo)準(zhǔn)格式模板
- 移動(dòng)支付安全體系架構(gòu)-洞察與解讀
- 電石生產(chǎn)安全技術(shù)規(guī)程
- 2025-2026學(xué)年統(tǒng)編版(2024)七年級(jí)道德與法治下冊(cè)全冊(cè)教案(教學(xué)設(shè)計(jì))
- 《中國(guó)臨床腫瘤學(xué)會(huì)(csco)抗腫瘤治療相關(guān)骨髓抑制診療指南》
- 水泵維修安全知識(shí)培訓(xùn)課件
- 鄉(xiāng)村振興戰(zhàn)略下的新疆農(nóng)村物流發(fā)展現(xiàn)狀及對(duì)策研究
- DB43∕T 1358-2017 地質(zhì)災(zāi)害治理工程質(zhì)量驗(yàn)收規(guī)范
- 勵(lì)磁系統(tǒng)改造施工方案
- DB22-T 3432-2023 公路鋼護(hù)欄石墨烯復(fù)合防腐涂料應(yīng)用技術(shù)規(guī)范
- 臨床病區(qū)藥品管理試題及答案2025年版
評(píng)論
0/150
提交評(píng)論