首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL话语精妙集合

2012-10-27 
SQL语句精妙集合一、基础??2??31、说明:创建数据库??4Create?DATABASE?database-name??5??62、说明:删除数据

SQL语句精妙集合
一、基础
??2SQL话语精妙集合
??3SQL话语精妙集合1、说明:创建数据库
??4SQL话语精妙集合Create?DATABASE?database-name
??5SQL话语精妙集合
??6SQL话语精妙集合2、说明:删除数据库
??7SQL话语精妙集合drop?database?dbname
??8SQL话语精妙集合
??9SQL话语精妙集合3、说明:备份sql?server
?10SQL话语精妙集合---?创建?备份数据的?device
?11SQL话语精妙集合USE?master
?12SQL话语精妙集合EXEC?sp_addumpdevice?disk,?testBack,?c:\mssql7backup\MyNwind_1.dat
?13SQL话语精妙集合---?开始?备份
?14SQL话语精妙集合BACKUP?DATABASE?pubs?TO?testBack
?15SQL话语精妙集合
?16SQL话语精妙集合4、说明:创建新表
?17SQL话语精妙集合create?table?tabname(col1?type1?[not?null]?[primary?key],col2?type2?[not?null],..)
?18SQL话语精妙集合根据已有的表创建新表:
?19SQL话语精妙集合A:create?table?tab_new?like?tab_old?(使用旧表创建新表)
?20SQL话语精妙集合B:create?table?tab_new?as?select?col1,col2…?from?tab_old?definition?only
?21SQL话语精妙集合
?22SQL话语精妙集合5、说明:删除新表
?23SQL话语精妙集合drop?table?tabname
?24SQL话语精妙集合
?25SQL话语精妙集合6、说明:增加一个列
?26SQL话语精妙集合Alter?table?tabname?add?column?col?type
?27SQL话语精妙集合注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。
?28SQL话语精妙集合
?29SQL话语精妙集合7、说明:添加主键:?Alter?table?tabname?add?primary?key(col)
?30SQL话语精妙集合说明:删除主键:?Alter?table?tabname?drop?primary?key(col)
?31SQL话语精妙集合
?32SQL话语精妙集合8、说明:创建索引:create?[unique]?index?idxname?on?tabname(col….)
?33SQL话语精妙集合删除索引:drop?index?idxname
?34SQL话语精妙集合注:索引是不可更改的,想更改必须删除重新建。
?35SQL话语精妙集合
?36SQL话语精妙集合9、说明:创建视图:create?view?viewname?as?select?statement
?37SQL话语精妙集合删除视图:drop?view?viewname
?38SQL话语精妙集合
?39SQL话语精妙集合10、说明:几个简单的基本的sql语句
?40SQL话语精妙集合选择:select?*?from?table1?where?范围
?41SQL话语精妙集合插入:insert?into?table1(field1,field2)?values(value1,value2)
?42SQL话语精妙集合删除:delete?from?table1?where?范围
?43SQL话语精妙集合更新:update?table1?set?field1=value1?where?范围
?44SQL话语精妙集合查找:select?*?from?table1?where?field1?like?’%value1%’?---like的语法很精妙,查资料!
?45SQL话语精妙集合排序:select?*?from?table1?order?by?field1,field2?[desc]
?46SQL话语精妙集合总数:select?count?as?totalcount?from?table1
?47SQL话语精妙集合求和:select?sum(field1)?as?sumvalue?from?table1
?48SQL话语精妙集合平均:select?avg(field1)?as?avgvalue?from?table1
?49SQL话语精妙集合最大:select?max(field1)?as?maxvalue?from?table1
?50SQL话语精妙集合最小:select?min(field1)?as?minvalue?from?table1
?51SQL话语精妙集合
?52SQL话语精妙集合11、说明:几个高级查询运算词
?53SQL话语精妙集合A:?UNION?运算符
?54SQL话语精妙集合UNION?运算符通过组合其他两个结果表(例如?TABLE1?和?TABLE2)并消去表中任何重复行而派生出一个结果表。当?ALL?随?UNION?一起使用时(即?UNION?ALL),不消除重复行。两种情况下,派生表的每一行不是来自?TABLE1?就是来自?TABLE2。
?55SQL话语精妙集合B:?EXCEPT?运算符
?56SQL话语精妙集合EXCEPT?运算符通过包括所有在?TABLE1?中但不在?TABLE2?中的行并消除所有重复行而派生出一个结果表。当?ALL?随?EXCEPT?一起使用时?(EXCEPT?ALL),不消除重复行。
?57SQL话语精妙集合C:?INTERSECT?运算符
?58SQL话语精妙集合INTERSECT?运算符通过只包括?TABLE1?和?TABLE2?中都有的行并消除所有重复行而派生出一个结果表。当?ALL?随?INTERSECT?一起使用时?(INTERSECT?ALL),不消除重复行。
?59SQL话语精妙集合注:使用运算词的几个查询结果行必须是一致的。
?60SQL话语精妙集合
?61SQL话语精妙集合12、说明:使用外连接
?62SQL话语精妙集合A、left?outer?join:
?63SQL话语精妙集合左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。
?64SQL话语精妙集合SQL:?select?a.a,?a.b,?a.c,?b.c,?b.d,?b.f?from?a?LEFT?OUT?JOIN?b?ON?a.a?=?b.c
?65SQL话语精妙集合B:right?outer?join:
?66SQL话语精妙集合右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
?67SQL话语精妙集合C:full?outer?join:
?68SQL话语精妙集合全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
?69SQL话语精妙集合
?70SQL话语精妙集合二、提升
?71SQL话语精妙集合
?72SQL话语精妙集合1、说明:复制表(只复制结构,源表名:a?新表名:b)?(Access可用)
?73SQL话语精妙集合法一:select?*?into?b?from?a?where?1<>1
?74SQL话语精妙集合法二:select?top?0?*?into?b?from?a
?75SQL话语精妙集合
?76SQL话语精妙集合2、说明:拷贝表(拷贝数据,源表名:a?目标表名:b)?(Access可用)
?77SQL话语精妙集合insert?into?b(a,?b,?c)?select?d,e,f?from?b;
?78SQL话语精妙集合
?79SQL话语精妙集合3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径)?(Access可用)
?80SQL话语精妙集合insert?into?b(a,?b,?c)?select?d,e,f?from?b?in?‘具体数据库’?where?条件
?81SQL话语精妙集合例子:..from?b?in?&Server.MapPath(.)&\data.mdb?&?where..
?82SQL话语精妙集合
?83SQL话语精妙集合4、说明:子查询(表名1:a?表名2:b)
?84SQL话语精妙集合select?a,b,c?from?a?where?a?IN?(select?d?from?b?)?或者:?select?a,b,c?from?a?where?a?IN?(1,2,3)
?85SQL话语精妙集合
?86SQL话语精妙集合5、说明:显示文章、提交人和最后回复时间
?87SQL话语精妙集合select?a.title,a.username,b.adddate?from?table?a,(select?max(adddate)?adddate?from?table?where?table.title=a.title)?b
?88SQL话语精妙集合
?89SQL话语精妙集合6、说明:外连接查询(表名1:a?表名2:b)
?90SQL话语精妙集合select?a.a,?a.b,?a.c,?b.c,?b.d,?b.f?from?a?LEFT?OUT?JOIN?b?ON?a.a?=?b.c
?91SQL话语精妙集合
?92SQL话语精妙集合7、说明:在线视图查询(表名1:a?)
?93SQL话语精妙集合select?*?from?(Select?a,b,c?FROM?a)?T?where?t.a?>?1;
?94SQL话语精妙集合
?95SQL话语精妙集合8、说明:between的用法,between限制查询数据范围时包括了边界值,not?between不包括
?96SQL话语精妙集合select?*?from?table1?where?time?between?time1?and?time2
?97SQL话语精妙集合select?a,b,c,?from?table1?where?a?not?between?数值1?and?数值2
?98SQL话语精妙集合
?99SQL话语精妙集合9、说明:in?的使用方法
100SQL话语精妙集合select?*?from?table1?where?a?[not]?in?(‘值1’,’值2’,’值4’,’值6’)
101SQL话语精妙集合
102SQL话语精妙集合10、说明:两张关联表,删除主表中已经在副表中没有的信息
103SQL话语精妙集合delete?from?table1?where?not?exists?(?select?*?from?table2?where?table1.field1=table2.field1?)
104SQL话语精妙集合
105SQL话语精妙集合11、说明:四表联查问题:
106SQL话语精妙集合select?*?from?a?left?inner?join?b?on?a.a=b.b?right?inner?join?c?on?a.a=c.c?inner?join?d?on?a.a=d.d?where?SQL话语精妙集合..
107SQL话语精妙集合
108SQL话语精妙集合12、说明:日程安排提前五分钟提醒
109SQL话语精妙集合SQL:?select?*?from?日程安排?where?datediff(minute,f开始时间,getdate())>5
110SQL话语精妙集合
111SQL话语精妙集合13、说明:一条sql?语句搞定数据库分页
112SQL话语精妙集合select?top?10?b.*?from?(select?top?20?主键字段,排序字段?from?表名?order?by?排序字段?desc)?a,表名?b?where?b.主键字段?=?a.主键字段?order?by?a.排序字段
113SQL话语精妙集合
114SQL话语精妙集合14、说明:前10条记录
115SQL话语精妙集合select?top?10?*?form?table1?where?范围
116SQL话语精妙集合
117SQL话语精妙集合15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
118SQL话语精妙集合select?a,b,c?from?tablename?ta?where?a=(select?max(a)?from?tablename?tb?where?tb.b=ta.b)
119SQL话语精妙集合
120SQL话语精妙集合16、说明:包括所有在?TableA?中但不在?TableB和TableC?中的行并消除所有重复行而派生出一个结果表
121SQL话语精妙集合(select?a?from?tableA?)?except?(select?a?from?tableB)?except?(select?a?from?tableC)
122SQL话语精妙集合
123SQL话语精妙集合17、说明:随机取出10条数据
124SQL话语精妙集合select?top?10?*?from?tablename?order?by?newid()
125SQL话语精妙集合
126SQL话语精妙集合18、说明:随机选择记录
127SQL话语精妙集合select?newid()
128SQL话语精妙集合
129SQL话语精妙集合19、说明:删除重复记录
130SQL话语精妙集合Delete?from?tablename?where?id?not?in?(select?max(id)?from?tablename?group?by?col1,col2,SQL话语精妙集合)
131SQL话语精妙集合
132SQL话语精妙集合20、说明:列出数据库里所有的表名
133SQL话语精妙集合select?name?from?sysobjects?where?type=U
134SQL话语精妙集合
135SQL话语精妙集合21、说明:列出表里的所有的
136SQL话语精妙集合select?name?from?syscolumns?where?id=object_id(TableName)
137SQL话语精妙集合
138SQL话语精妙集合22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select?中的case。
139SQL话语精妙集合select?type,sum(case?vender?when?A?then?pcs?else?0?end),sum(case?vender?when?C?then?pcs?else?0?end),sum(case?vender?when?B?then?pcs?else?0?end)?FROM?tablename?group?by?type
140SQL话语精妙集合显示结果:
141SQL话语精妙集合type?vender?pcs
142SQL话语精妙集合电脑?A?1
143SQL话语精妙集合电脑?A?1
144SQL话语精妙集合光盘?B?2
145SQL话语精妙集合光盘?A?

热点排行