SQLserver2005核心语句全解析:数据库管理与查询技巧汇总

创始人
2024-12-14 22:49:17
0 次浏览
0 评论

SQLserver2005的简单语句

1.描述:创建数据库CREATEDATABASEdatabase-name2。
说明:删除数据库dropdatabasedbname3。
说明:备份sqlserver---创建DeviceUSEmasterEXECsp_addumpde用于备份数据副'disk','testBack','c:\mssql7backup\MyNwind_1.dat'---开始备份BACKUPDATABASEpubsTOtestBack4,说明:新建表createtabletabname(col1type1[notnull][primarykey],col2type2[notnull],..)根据现有表创建新表:A:createtabletab_newliketab_old(使用旧表创建新表)B:createtabletab_newasselectcol1,col2…fromtab_olddefinitiononly5.描述:删除新表droptabletabname6。
说明:添加列Altertabletabnameaddcolumncoltype。
注意:该列一旦添加就无法删除。
在DB2中,添加列后无法更改数据类型。
唯一的选择是增加varchar类型的长度。
7.描述:添加主键:Altertabletabnameaddprimarykey(col)描述:删除主键:Altertabletabnamedropprimarykey(col)8.描述:创建索引:create[unique]indexidxnameontabname(col….)删除索引:dropindexidxname注意:索引不能更改。
必须删除并重新创建更改。
9、说明:创建视图:createviewviewnameassetstatement删除视图:dropviewviewname10说明:选择几个简单的基本SQL语句:select*fromtable1where范围插入:insertintotable1(field1,field2)values(value1,value2)删除:deletefromtable1where范围更新:updatetable1setfield1=value1whereRange搜索:select*fromtable1wherefield1like'%value1%'---likes语法很精致,查资料!able1orderbyfield1,field2[desc]总计:selectcount*astotalcountfromtable1总和:selectsum(field1)assumvaluefromtable1平均值:selectavg(field1)asavgvaluefromtable1最大值:selectmax(field1)asmaxvaluefromtable1最小值:selectmin(field1)asminvaluefromtable111说明:几个高级查询运算符A:UNION运算符UNION运算符组合另外两个结果表(例如TABLE1和TABLE2)并删除结果表的表中的所有重复行。
当ALL与UNION一起使用(即UNIONALL)时,不会删除重复的行。
在这两种情况下,派生表中的每一行都来自TABLE1或TABLE2。
B:EXCEPT运算符EXCEPT运算符通过包含TABLE1中但不在TABLE2中的所有行并消除任何重复行来派生结果表。
当ALL与EXCEPT(EXCEPTALL)一起使用时,不会删除重复行。
C:INTERSECT运算符INTERSECT运算符通过仅包含TABLE1和TABLE2中都存在的行并消除任何重复行来派生结果表。
当ALL与INTERSECT(INTERSECTALL)一起使用时,不会删除重复行。
注意:使用运算符词的多个查询结果行必须保持一致。
12、说明:使用外连接A、leftouterjoin:左外连接(leftjoin):结果集包含连接表的匹配行和左连接表的所有行。
SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.cB:rightouterjoin:右外连接(右连接):结果集同时包含被连接表的匹配连接行和右连接所有行的表。
C:fullouterjoin:全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
其次,让我们看看一些好的SQL语句。
1、说明:复制表(只复制结构,源表名:a,新表名:b)(可访问)方法一:select*intobfromawhere1<>1方法二:selecttop0*intobfroma2,说明:复制表(数据拷贝,源表名:a目标表名:b)(可访问)insertintob(a,b,c)selectd,e,ffromb3.说明:在数据库之间复制表(对特定数据使用绝对路径)(Access中提供)insertintob(a,b,c)selectd,e,ffrombin'特定数据库where条件示例:..frombin'"&Server.MapPath(".")&"\data.mdb"&"'其中..4.说明:子查询(表名1:a表名2:b)selecta,b,cfromahwhereaIN(selectdfromb)或者:selecta,b,cfromahwhereaIN(1,2,3)5说明:显示文章和提交者以及最后响应时间selecta.title,a.用户名,b.adddatefromtablea,(selectmax(adddate)adddatefromtablewheretable.title=a.title)b6说明:外连接查询(表名1:a表名2:b)selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c7说明:在线视图查询(表名1:a)select*from(SELECTa,b,cFROMa)Twheret.a>1;8,说明:使用Between,between限制查询数据范围,包含限制,notBetween不包含select*fromtable1wheretimeBetweentime1andtime2selecta,b,c,fromtable1whereanotBetweenvalue1andvalue29说明:用在select*fromtable1wherea[not]in('value1','value2','value4','value6')10、说明:两个相关表,删除主表中未包含在副表中的信息efromtable1wherenotexists(select*fromtable2wheretable1.field1=table2.field1)11.描述:同时查询四个表时出现问题:select*fromaleftinnerjoinbona.a=b.brightinnerjoincona.a=c.cinnerjoindona.a=d.dwhere.....12。
描述:提前五分钟安排提醒。
SQL:select*fromschemawheredatediff('month',fstarttime,getdate())>513说明:一条SQL语句完成数据库分页(selecttop20主键字段,sortfieldfrom表名orderby排序字段desc)a,table名称bwhereb.主键字段=a.对主键字段的字段14进行排序。
描述:选取b值相同的每个数据组中a最大的数据集的所有信息(与此类似。
用途可用于每月论坛排名、每月热销产品分析、按话题表现排名等)selecta,b,cfromtablenametawherea=(selectmax(a)fromtablenametbwheretb.b=ta.b)16.说明:包含TableA中的所有行,但不包括TableB和TableC中的所有行删除重复行以派生结果表(selectafromtableA)exclus(selectafromtableB)exclus(selectafromtableC)17.说明:随机取出10条数据selecttop10*fromtablenameorderbynewid()18.说明:随机选择记录selectnewid()19.说明:删除重复记录Deletefromtablenamewhereidnotin(selectmax(id)fromtablenamegroupbycol1,col2,...)20.说明:全部数据库中的记录列表表名selectnamefromsysobjectswheretype='U'21.描述:列表所有selectnamefromsyscolumnswhereid=object_id('TableName')上。
22.描述:列出类型、制造商和件数字段,按类型字段排序。
可以轻松实现区分大小写。
多选,类似于select中的情况。
selecttype,sum(casevenderwhen'A'thenpcselse0end),sum(casevenderwhen'C'thenpcselse0end),sum(casevenderwhen'B'thenpcselse0end)FROMtablenamegroupbytype显示结果:类型Eveningerpcs电脑A1电脑A1CDB2CDA2手机B3手机C323,说明:初始化表table1TRUNCATETABLEtable124,描述:选择10到15条记录selecttop5*from(selecttop15*fromtableorderbyidasc)table_aliasorderbyiddesc

查询前五十条记录的SQL语句,并分析?

此问题出现在SELECTTOP50s.SNO,s.SNAME,c.CON,c.CNAME,t.TNO,t.TNAMEFROMSs,SCsc,Cc,TtWHEREs.SNO=sc.SNOANDsc.CNO=c.CNOANDc.TNO=t.TNO发生。
对于涉及多个表的查询,通常最好使用多表连接。

数据库SQL语句考试

1.createtableA(S#varchar(20)primarykey,SNvarchar(20),Sexvarchar(2),Agenumber(10),Deptvarchar(50));createtableB(C#varchar(20)primarykeyCNvarchar(20));createtableC(S#number(10),C#number(10),标记编号(10));2.insertintotableA(S#,Sn,Dep)values('010102','张静','机电');3.updateCsetgrade=59wheregrade>=60;4.delete*fromCwhereS#in(selectS#fromAwhereSnlike'李%');delete*fromAwhereSnlike'李%';5.selectS#,性别,AgefromAwhereSn='刘Hua';6.selectA.S#,B.C#,B.CnfromA,B,C其中A.Deptnotin('计算机科学系','法律系')andA.S#=C.S#andC.C#=B.C#;7.selectC.S#,sum(Grade)GfromB,CwhereCn='大学语文'andB.C#=C.C#groupbyC.S#orderbyGdesc;8.altertableAdropcolumnSex;//删除列altertableAdropColumnAge;updateAsetSEX='',AGE='';//删除列记录(我不知道你说的删除是什么意思,你可以在两者之间选择。
)9.droptableC;droptableB;droptableA;//先删除C,再删除A,否则报错,无法记录使用情况被淘汰。
热门文章
1
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

4
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

5
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

6
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

7
MySQL命令行操作指南:轻松启动和登录... 用命令行方式启动和登录mysql服务的方法1.启动MySQL服务1打开命令行窗口...

8
Linux Redis后台启动教程:配置... linux怎么启动redis1、首先,为了管理方便,将Redis文件中的conf...

9
MySQL浮点数与Decimal类型详解... MySQL中的float和decimal类型有什么区别小数类型可以准确地表示非常...

10
C语言实现输入10个整数并找出最大最小值... C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出代码:#inclu...