测试数据库sqlserver1 SQLServer中查询时显示行号的方法必须有into语_第1页
测试数据库sqlserver1 SQLServer中查询时显示行号的方法必须有into语_第2页
测试数据库sqlserver1 SQLServer中查询时显示行号的方法必须有into语_第3页
测试数据库sqlserver1 SQLServer中查询时显示行号的方法必须有into语_第4页
测试数据库sqlserver1 SQLServer中查询时显示行号的方法必须有into语_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1.SQLServer中查询时显示行号的方法(必须有into语句Selectno=Identity(int,1,1),*Into#temptableFromTableName--OrderBySortFieldSelect*From#temptable --Whereno>=6Andno<10DropTable#temptable 从数据库中随机抽N条记selecttopn*fromtableorderbyrnd(id)'id为数据库的自动编字Sqlselecttopn*fromtableorderby一、基创建数据CreateDATABASEdatabase-2、删除数据dropdatabase3、备sql创建份数据的deviceUSEmaster 开始4、说明:创建新createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)根据已有的表创建新表A:createtabletab_newliketab_old使用旧表创建新表B:createtabletab_newasselectcol1,col2…fromtab_olddefinitiononly5、删除新droptable6、增加一个Altertabletabnameaddcolumncol注:列增加后将不能删除。DB2中列加上后数据类型也不能变唯一能改变的是增加varchar类型的长度7、添加主键Altertabletabnameaddprimary说明:删除主键Altertabletabnamedropprimary8、创建索引create[unique]indexidxnameon删除索引:dropindex注:索引是不可更改的,想更改必须删除重新建9、创建视图createviewviewnameasselect删除视图:dropview10、几个简单的基本的sql语选择:select*fromtable1where范插入:insertintotable1(field1,field2)删除:deletefromtable1where范更新:updatetable1setfield1=value1where范查找:select*fromtable1wherefield1likelike的语法很精妙,查资料排序:select*fromtable1orderbyfield1,field2总数:selectcountastotalcountfrom求和:selectsum(field1)assumvaluefromtable1平均:selectavg(field1)asavgvaluefromtable1最大:selectmax(field1)asmaxvaluefromtable1最小:selectmin(field1)asminvaluefromtable1AUNION运算UNION运算符通过组合其他两个结果表(例如和TABLE2)并消去表中任何重复而派生出一个结果表.当ALL随UNION一起使用(即UNIONALL),不消除重复行.两情况下,派生表的每一行不是来自TABLE1就是来BEXCEPT运算EXCEPT运算符通过包括所有在TABLE1中但不在出一个结果表.当ALL随EXCEPT一起使用时ALL),不消除重复行CINTERSECT运算INTERSECT运算符通过只包括TABLE1和中都有的行并消除所有重复行而派生—个结果表.当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行注:使用运算词的几个查询结果行必须是一致的12、使用外连A、leftouterSQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINba.a=B:rightouterC:fullouter全外连接:不仅包括符号连接表的匹配行,还包括两个表中的所有记录二、提1、表(只结构,源表名:a新表名:b)(Access可用)法一:select*intobfromawhere1<>1法二:selecttop0*intobfrom2、拷贝表(拷贝数据,源表名:a目标表名:b)(Access可用)insertintob(a,b,c)selectd,e,ffromb;3、跨数据库之间表的拷贝(具体数据使用绝对路径Access可用)insertintob(a,b,c)selectd,e,ffrombin‘具体数据库条例子:..frombin&Server.MapPath(.)&\data.mdb&4、子查询(1:a表名selecta,b,cfromawhereaIN(selectdfromb或者selecta,b,cfromawhereaIN5、显示文章、提交人和最后回复时 max(adddate)adddatefromtablewheretable.title=a.title)6、外连接查询(表名1:aselecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a7、视图查询(表名1:aselect*from(Selecta,b,cFROMa)Twheret.a>8between的用法,between限制查询数据范围时包括了边界值,notbetween不包括select*fromtable1wheretimebetweentime1andselecta,b,c,fromtable1whereanotbetween1and数值9、in的使用方select*fromtable1wherea[not]in1','2','4','deletefromtable1wherenotexists(select*fromtable2where11、四表联查问题select*fromaleftinnerjoinbona.a=b.binnerjoincona.a=c.cinnerjoindona.a=d.dwhere12、日程安排提前提SQL:select*from日程安排wheredatediff(minute,f开始时13、一条sql语句搞定数据库分selecttop10b.*from(selecttop20主键字段,排序字段from表名orderby排序字段desc)a,表名bwhereb.主键字段=a.主键字段orderbya.排序字1410条记selecttop10*formtable1where范15、选择在每一组b值相同的数据中对应的a最大的记录的所有selecta,b,cfromtablenametawhere(selectmax(a)fromtablenametbwhere16、包括所有在TableA中但不在TableBTableC中的行并消而派生出一个结果(selectafromtableA)except(selectafromtableB)except(selectafromtableC)17、随机取出10条数selecttop10*fromtablenameorderbyselectnewid()19、删除重复记Deletefromtablenamewhereidnot(selectmax(id)fromtablenamegroupby20、列出数据库里所有的表selectnamefromsysobjectswhere21、列出表里的所有selectnamefromsyscolumnswhere22、列示type、vender、pcs字段type字段排列,case可以方select中的caseselecttype,sum(casevenderwhenAthenpcselse0end),sum(casevenderwhenCthenpcselse0end),sum(casevenderwhenBthenpcselse0end)FROMtablenamegroupbytype显示结果typevender电脑A电脑A光盘B光盘AB3C323、初始化表table124、选择从1015的记selecttop5*from(selecttop15*fromtableorderbyidtable_别名orderbyid三、技1、1=1,1=2的使用,在SQL语句组合时用的较“where1=1表示选择全部where1=2”全部不选,if@strWhere!=''set@strSQL='selectcount(*)asTotalfrom['+@tblName+']where'+ set@strSQL='selectcount(*)asTotalfrom['++我们可以直接写set@strSQL='selectcount(*)asTotalfrom['+@tblName+']where1=1 2、收缩数据重建索DBCCREINDEXDBCCINDEXDEFRAG收缩数据和日DBCCSHRINKDBDBCCSHRINKFILE3、压缩数据dbcc4、转移数据库给新用户以已存在用户权execsp_change_users_login'update_one','newname','oldname'5、检查备份RESTOREVERIFYONLYfrom6、修复数据AlterDATABASE[dvbbs]SETSINGLE_USER 7、日志清SETNOCOUNTDECLARE@LogicalFileNamesysname,@MaxMinutesINT,@NewSizeINTUSEtablename--要操作的数据库Select@LogicalFileName'tablename_log',--日志文件名@MaxMinutes=10,--Limitontimeallowedtowraplog.@NewSize=1--你想设定的日志文件的大小(M)--Setup/initializeDECLARE@OriginalSizeintSelect@OriginalSize=sizeFROMsysfilesWherename=Select'OriginalSizeof'+db_name()+'LOGis'+CONVERT(VARCHAR(30),@OriginalSize)+'8Kpagesor'+ FROMWherename=CreateTABLEDummyTrans(DummyColumnchar(8000)notnull)DECLARE@CounterINT,@StartTimeDATETIME,@TruncLogSelect@StartTime= 'BACKUPLOG 'WITHDBCCSHRINKFILE(@LogicalFileName,@NewSize)EXEC(@TruncLog)--Wrapthelogif GETDATE())--timehasnotexpiredAND@OriginalSize=(SelectsizeFROMsysfilesWherename=AND(@OriginalSize*8/1024)>@NewSizeBEGIN--Outerloop.Select@Counter=WHILE((@Counter<@OriginalSize/16)AND<BEGIN--InsertDummyTransVALUES('FillLog')DeleteDummyTransSelect@Counter=@Counter+1EXEC(@TruncLog)Select'FinalSizeof'+db_name()+'LOGis'+CONVERT(VARCHAR(30),size)+'8Kpagesor'+CONVERT(VARCHAR(30),(size*8/1024))+'MB'FROMsysfilesWherename=SETNOCOUNTOFF8、更改某个9、更改全部CreatePROCEDUREdbo.User_ChangeObjectOwnerBatch@OldOwnerasNVARCHAR(128),DECLARE@NameasNVARCHAR(128)DECLARE@OwnerasNVARCHAR(128)DECLARE@OwnerNameasDECLAREcurObjectCURSOR whereuser_name(uid)=@OldOwnerorderbyOPENFETCHNEXTFROMcurObjectINTO@Name,@Ownerif@Owner=@OldOwner --select@name,@NewOwner,@OldOwner closecurObjectdeallocatecurObject10、SQLSERVER中直接循环写入数declare@iintset@i=1whileinsertintotest(userid)values(@i)set@i=@i+1 怎样返回数据库中用户表的表单 and返回两个表中共有的所有记select*fromtestTableasainnerjoinTestTableChildasbona.id=返回两个表里共有的记录,且不重selecta.id,,fromtestTableasainner TestTableChildasbona.id=b.parentidgroupbya.id,,向一个表A中插入记录,并且插入的记录在A中不存在(通过一字段来判断 ','0'fromEpm_EmployeeListwherecorpid=10001andnotexis

温馨提示

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

评论

0/150

提交评论