oracle引航我的葵花寶典_第1頁
oracle引航我的葵花寶典_第2頁
oracle引航我的葵花寶典_第3頁
oracle引航我的葵花寶典_第4頁
oracle引航我的葵花寶典_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

刪除新表:droptabletabname增加一個列:Altertabletabnameaddcolumncolvarchar7添加主鍵:Altertabletabnameaddprimary刪除主鍵:Altertabletabnamedropprimarykey(col)創(chuàng)建索引:create[unique]indexidxnameontabname(col….)刪除索引:dropindexidxname9創(chuàng)建視圖:createviewviewnameasselect刪除視圖:dropviewviewname選擇:select*fromtable1where插入:insertintotable1(field1,field2)刪除:deletefromtable1where更新:updatetable1setfield1=value1where查找:select*fromtable1wherefield1like’%value1%’like排序:select*fromtable1orderbyfield1,field2總數(shù):selectcount*astotalcountfromtable1求和:selectsum(field1)assumvaluefromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最小:selectmin(field1)asminvaluefromtable1A:UNIONUNION(TABLE1TABLE2)并消去表中任何重復(fù)行而派生出一個結(jié)果表。當ALL隨UNION一起使用時(即UNIONALL),不消除重復(fù)行。兩種情況下,派生表的每一行不是來自TABLE1就是來自TABLE2。B:EXCEPTEXCEPTTABLE1TABLE2所有重復(fù)行而派生出一個結(jié)果表。當ALL隨EXCEPT一起使用時(EXCEPTC:INTERSECTINTERSECTTABLE1TABLE2有重復(fù)行而派生出一個結(jié)果表。當ALL隨INTERSECT一起使用時(INTERSECTALL),不消除重復(fù)行。A、leftouterSQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINba.a=B:rightouterC:fulloutersql1、說明:表(只結(jié)構(gòu),源表名:a新表名:b)(Access可用)法一:select*intobfromawhere1<>1法二:selecttop0*intobfrom2、說明:拷貝表(拷貝數(shù)據(jù),源表名:a:b)(Accessinsertintob(a,b,c)selectd,e,ffromb;3、說明:跨數(shù)據(jù)庫之間表的拷貝(具體數(shù)據(jù)使用絕對路徑)(Accessinsertintob(a,b,c)selectd,e,ffrombinwhere例子:..frombin'"&Server.MapPath(".")&"\data.mdb"&"'41:aselecta,b,cfromawhereaIN(selectdfrombselecta,b,cfromawhereaIN(1,2,3)5selecta.title,a.username,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b61:aselecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=7、說明 視圖查詢(表名1:aselect*from(SELECTa,b,cFROMa)Twheret.a>值,notbetweenselect*fromtable1wheretimebetweentime1andselecta,b,c,fromtable1whereanotbetween1and29、說明:in的使用方法select*fromtable1wherea[not]in1’,’2’,’4’,’6’)10deletefromtable1wherenotexists(select*fromtable2wheretable1.field1=table2.field1)11select*fromaleftinnerjoinbona.a=b.brightinnerjoincona.a=c.cinnerjoindona.a=d.dwhere.....12、說明:日程安排提前提SQL:select*fromwheredatediff('minute',f13sqlselecttop10b.*from(selecttop20fromorderby排序字段desc)a,表名bwhereb.主鍵字段=a.主鍵字段orderbya.排序字段1410selecttop10*formtable1where15ba信息(類似這樣的用法可以用于每月榜,每月熱銷產(chǎn)品分析,按科目成績,等等.)selecta,b,cfromtablenametawherea=(selectmax(a)fromtablenametbwheretb.b=ta.b)16TableATableBTableC(selectafromtableA)except(selectafromtableB)except(selectafromtableC)1710selecttop10*fromtablenameorderbynewid()select19Deletefromtablenamewhereidnotin(selectmax(id)fromtablenamegroupbycol1,col2,...)selectnamefromsysobjectswheretype='U'selectnamefromsyscolumnswhereselectcase。selecttype,sum(casevenderwhen'A'thenpcselse0end),sum(casevenderwhen'C'thenpcselse0end),sum(casevenderwhen'B'thenpcselse0end)FROMtablenamegroupbytypeA1A1A1B2A2B3C3TRUNCATETABLEtable1241015selecttop5*from(selecttop15*fromtableorderbyidasc)table_別名orderbyiddesc隨機選擇數(shù)據(jù)庫記錄的方法(RandomizeSQL)對在數(shù)據(jù)庫中的數(shù)據(jù)來說,隨機數(shù)特性能給出上面的效果,但它們ASP“RNumber=Int(Rnd*499)WhileNotIfobjRec("ID")=RNumber...這里是執(zhí)行...endif1500(就是數(shù)據(jù)庫內(nèi)記錄的總數(shù))IDRNumberTHEN關(guān)鍵字開始的那一塊代碼。RNumber495,那么要循環(huán)一遍數(shù)據(jù)庫花的時間可就長了。雖500RNumber=Int(Rnd*499)+SQL="SELECT*FROMCustomersWHEREID="&setobjRec=ObjConn.Execute(SQL)Response.WriteRNumber&"="&objRec("ID")&""&RNumberID,你只需要檢查匹配情況即可。只要你對以上代碼的工作滿意,你自可按需操作“隨機”記錄。Recordset示SQLrecordsetSQL="SELECT*FROMCustomersWHEREID="&RNumber&"OR="&RNumber2&"ORID="&假如你想選出10條記錄(也許是每次頁面裝載時的10條的錄。這一操作可以通過好幾種方式來完成,但是SELECT語句只顯示一種可能(ID是自動生成的號碼):SQL="SELECT*FROMCustomersWHEREIDBETWEEN"&RNumber&"AND"&RNumber&"+9"隨機若干條記錄,測試過Access:SELECTtop10*FromORDERBYRnd(id)Sqlserver:selecttopn*from表名orderbynewid()mysqlselect*From表名OrderByrand()LimitnAccessSQLselecttable1.fd1,table1,fd2,table2.fd2Fromtable1leftjointable2ontable1.fd1,table2.fd1where...SQLSQL:selectcasewhenlen(field)>10thenleft(field,10)+'...'elsefieldendasnews_name,news_idfromAccess:SELECTiif(len(field)>2,left(field,2)+'...',field)FROMtablename;Conn.ExecuteExecuteSQLSet對象變量名=連接對象.Execute("SQLExecute方法調(diào)用后,會自動創(chuàng)建記錄集對象,并將查詢結(jié)果在該記SetSQL連接對象.Execute"SQL操作性語句"[,RecordAffected][,所生效的記錄數(shù)會自動保存到該變量中。通過該變量,就可知道SQL語 mitTrans方這三個方法是連接對象提供的用于事務(wù)處理的方法。BeginTransBeginTransCommitTransErrorError0,則說明有錯誤發(fā)生,事務(wù)處理失敗。ErrorErrorSQL2006/10/2613:46DELETEDELETEFROMWHEREDELETE語法:DELETE[table.*]FROMtableWHERE語法:DELETE*FROMtableWHEREcriteria='說明:tablecriteriaExecuteDROPDELETE,只有ORACLE表A(ID,FIRSTNAME,LASTNAME表B(AID,FIRSTNAME表BID,LASTNAMEBLASTNAMEALASTNAMEIDupdateaseta.lastname=(selectb.lastnamefrombwhereSQL:Insert,Select,UpdateDelete四條最基本的數(shù)據(jù)操作語句—SQL的功能—來依次介紹比較操作符、選SQLCREATETABLE(1示)。DDLSQL(DML)語句進行處理。INSERTJohnSmithINSERTINTOEMPLOYEESVALUES'Los我們系統(tǒng)會“試著”將值填入,除了執(zhí)行規(guī)則之外它還要進行類型檢查。如果類型不符(如將一個字符串填入到類型為數(shù)字的列中),SQL對于日期類型,須使用SQL標準日期格式(yyyy-mm-dd),但在系統(tǒng)中可以進行定義,以接受其他的格式。當然,2000年,請你最好INSERTINSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEES'LosAngles',12,100000);INSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEESVALUESNULL(不要引號)。NULLSQLNULLINSERTINTOEMPLOYEES(FIRST_NAME,LAST_NAME,HIRE_DATE,BRANCH_OFFICE)''1992-02-01','項(這兩項規(guī)定不能為空),SQLINSERTINSERTINTOtable[(column{,column})](columnvalueSELECTSELECTSQL大的部分。實際上,僅僅是數(shù)據(jù)庫來分析數(shù)據(jù)并生成報表的人可以對其SQLSQL(directSQL)中,它將結(jié)果顯示在終端的顯示屏上,或者將結(jié)果送到SQLSELECTSELECTcolumnsFROMSELECTSELECT23際結(jié)果。在其他的例子中使用這些結(jié)果)。SELECTBRANCH_OFFICEFROMSELECT22SELECTSELECTDISTINCTSELECTDISTINCTBRANCH_OFFICEFROMEMPLOYEES;3ORDERBYSELECTDISTINCTFROMORDERBYBRANCH_OFFICE4ORDERBYBRANCH_OFFICE表中只有一個列時我們也必須列名呢?這是因為我們還能夠按照表中其BRANCH_OFFICEASC同樣我們應(yīng)該ORDERBY子句只將臨時表中的結(jié)果進行排序;并不SELECTBRANCH_OFFICE,FIRST_NAME,FROMORDERBYSALARYDESC,HIRE_DATEDESC;所決定。SQL5SELECT*FROMEMPLOYEES1 SELECT(column[{,columns}])|*FROMtable[{,table}][ORDERBYcolumn[ASC]|DESC[{,column[ASC]|DESCSELECTcolumnsFROMtables[WHEREWHERE中。這些條件由斷言(predicate)進行指定(斷言了關(guān)于某件事情的JonesSELECTSELECT*FROMEMPLOYEESWHERELAST_NAME='Jones';LAST_NAME'Jones'部分就是斷言。在執(zhí)行該語句時,SQLLAST_NAME“Jones”進行比較。如果某一職員的姓為“Jones”,即斷言成立,該職員的信息將被包括到結(jié)果表中(6)。我們上例中的斷言包括一種基于“等值”的比較(LAST_NAME=SELECT*FROMEMPLOYEESWHERESALARY>50000;DavyJonesSELECT*FROMWHERELAST_NAME='Jones'ANDFIRST_NAME=SELECTORSELECT*FROMWHERELAST_NAME='Jones'ORLAST_NAME=BostonSELECT*FROMWHERENOT(BRANCH_OFFICE=Boston,括號內(nèi)的表達式返回true,NOTSELECT*FROMEMPLOYEESWHERE(LAST_NAME='Jones'ANDFIRST_NAME='na')OR(LAST_NAME='Smith'ANDFIRST_NAME=SELECTSELECT(column[{,column}])|*FROMtable[{,table}][ORDERBYcolumn[ASC]|[DESC[{,column[ASC]|[DESC}]WHEREpredicate[{logical-connectorpredicate}NULLSQLNULLNULLSQL的高級而不是現(xiàn)在的中進行介紹。但由于NULL需要進行特SELECTSELECT*FROMEMPLOYEESWHERESALARYISNULL;SELECT*FROMEMPLOYEESWHERESALARYISNOTNULL;ISNULLISNOTNULL,而不是標準的比較形式:COLUMN=NULL、COLU

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論