oracle引航我的葵花宝典_第1页
oracle引航我的葵花宝典_第2页
oracle引航我的葵花宝典_第3页
oracle引航我的葵花宝典_第4页
oracle引航我的葵花宝典_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

删除新表:droptabletabname增加一个列:Altertabletabnameaddcolumncolvarchar7添加主键:Altertabletabnameaddprimary删除主键:Altertabletabnamedropprimarykey(col)创建索引:create[unique]indexidxnameontabname(col….)删除索引:dropindexidxname9创建视图:createviewviewnameasselect删除视图:dropviewviewname选择:select*fromtable1where插入:insertintotable1(field1,field2)删除:deletefromtable1where更新:updatetable1setfield1=value1where查找:select*fromtable1wherefield1like’%value1%’like排序:select*fromtable1orderbyfield1,field2总数:selectcount*astotalcountfromtable1求和:selectsum(field1)assumvaluefromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最小:selectmin(field1)asminvaluefromtable1A:UNIONUNION(TABLE1TABLE2)并消去表中任何重复行而派生出一个结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。B:EXCEPTEXCEPTTABLE1TABLE2所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTC:INTERSECTINTERSECTTABLE1TABLE2有重复行而派生出一个结果表。当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行。A、leftouterSQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINba.a=B:rightouterC:fulloutersql1、说明:表(只结构,源表名:a新表名:b)(Access可用)法一:select*intobfromawhere1<>1法二:selecttop0*intobfrom2、说明:拷贝表(拷贝数据,源表名:a:b)(Accessinsertintob(a,b,c)selectd,e,ffromb;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径)(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信息(类似这样的用法可以用于每月榜,每月热销产品分析,按科目成绩,等等.)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随机选择数据库记录的方法(RandomizeSQL)对在数据库中的数据来说,随机数特性能给出上面的效果,但它们ASP“RNumber=Int(Rnd*499)WhileNotIfobjRec("ID")=RNumber...这里是执行...endif1500(就是数据库内记录的总数)IDRNumberTHEN关键字开始的那一块代码。RNumber495,那么要循环一遍数据库花的时间可就长了。虽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方法调用后,会自动创建记录集对象,并将查询结果在该记SetSQL连接对象.Execute"SQL操作性语句"[,RecordAffected][,所生效的记录数会自动保存到该变量中。通过该变量,就可知道SQL语 mitTrans方这三个方法是连接对象提供的用于事务处理的方法。BeginTransBeginTransCommitTransErrorError0,则说明有错误发生,事务处理失败。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四条最基本的数据操作语句—SQL的功能—来依次介绍比较操作符、选SQLCREATETABLE(1示)。DDLSQL(DML)语句进行处理。INSERTJohnSmithINSERTINTOEMPLOYEESVALUES'Los我们系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。如果类型不符(如将一个字符串填入到类型为数字的列中),SQL对于日期类型,须使用SQL标准日期格式(yyyy-mm-dd),但在系统中可以进行定义,以接受其他的格式。当然,2000年,请你最好INSERTINSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEES'LosAngles',12,100000);INSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEESVALUESINSERTINTOEMPLOYEESVALUESNULL(不要引号)。NULLSQLNULLINSERTINTOEMPLOYEES(FIRST_NAME,LAST_NAME,HIRE_DATE,BRANCH_OFFICE)''1992-02-01','项(这两项规定不能为空),SQLINSERTINSERTINTOtable[(column{,column})](columnvalueSELECTSELECTSQL大的部分。实际上,仅仅是数据库来分析数据并生成报表的人可以对其SQLSQL(directSQL)中,它将结果显示在终端的显示屏上,或者将结果送到SQLSELECTSELECTcolumnsFROMSELECTSELECT23际结果。在其他的例子中使用这些结果)。SELECTBRANCH_OFFICEFROMSELECT22SELECTSELECTDISTINCTSELECTDISTINCTBRANCH_OFFICEFROMEMPLOYEES;3ORDERBYSELECTDISTINCTFROMORDERBYBRANCH_OFFICE4ORDERBYBRANCH_OFFICE表中只有一个列时我们也必须列名呢?这是因为我们还能够按照表中其BRANCH_OFFICEASC同样我们应该ORDERBY子句只将临时表中的结果进行排序;并不SELECTBRANCH_OFFICE,FIRST_NAME,FROMORDERBYSALARYDESC,HIRE_DATEDESC;所决定。SQL5SELECT*FROMEMPLOYEES1 SELECT(column[{,columns}])|*FROMtable[{,table}][ORDERBYcolumn[ASC]|DESC[{,column[ASC]|DESCSELECTcolumnsFROMtables[WHEREWHERE中。这些条件由断言(predicate)进行指定(断言了关于某件事情的JonesSELECTSELECT*FROMEMPLOYEESWHERELAST_NAME='Jones';LAST_NAME'Jones'部分就是断言。在执行该语句时,SQLLAST_NAME“Jones”进行比较。如果某一职员的姓为“Jones”,即断言成立,该职员的信息将被包括到结果表中(6)。我们上例中的断言包括一种基于“等值”的比较(LAST_NAME=SELECT*FROMEMPLOYEESWHERESALARY>50000;DavyJonesSELECT*FROMWHERELAST_NAME='Jones'ANDFIRST_NAME=SELECTORSELECT*FROMWHERELAST_NAME='Jones'ORLAST_NAME=BostonSELECT*FROMWHERENOT(BRANCH_OFFICE=Boston,括号内的表达式返回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的高级而不是现在的中进行介绍。但由于NULL需要进行特SELECTSELECT*FROMEMPLOYEESWHERESALARYISNULL;SELECT*FROMEMPLOYEESWHERESALARYISNOTNULL;ISNULLISNOTNULL,而不是标准的比较形式:COLUMN=NULL、COLU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论