精妙Sql语句SQL分类:DDL—数据定义语言(Create, Alt e r , D r op, DECLARE)DM L一数据操纵语言(Select, De 1 e te> Upd a te, Insert)DCL—数据控制语言(GRANT, REVOKE, CO MM 1 T, ROLLBACK)首先,简要介绍基础语句:1、 说明:创建数据库Create DATABASE data b ase —name2、 说明:删除数据库d r op database db n ame3、说明:备份s q 1 server--创建备份数据的d e v ic eUSE m a sterEXEC sp_addum p devic e d i sk*, t e s tBac k ', ' c: \mssq 1 7bac k u p \MyNw i n d_l. da t ,一开始备份BACKU P DAT ABASE pubs TO t e s tBa c k4、 说明:创建新表c r eate ta b 1 e t a bname (coll typel [not null] [ p rim a r y k e y c o 12 typ e 2 [n otnul I )根据已有的表创建新表:A : c reate table tab _new like tab_o I d (使用|日表创建新表)B:cr e ate t a b 1 e ta b _new a s s e 1 ect coll, col2... from t a b_o 1 d d e f ini tion o nly5、 说明:删除新表 drop table tabn a me6、 说明:增加一个列Alter tab 1 e tabn a me a dd column col type注:列增加后将不能删除。
DB 2中列加上后数据类型也不能改变,唯一能改变的是增加v a r char类型的长度7、 说明:添加主键:Al t e r t abl e tabname ad d pr i mar y key (co 1 )说明:删除主键:Alter table tabname dr o p p rimary k e y (col)8、说明:创建索引:cr e ate [unique] i n d ex i d x n a me o n t a bn a me(col**\ )删除索引: drop inde x i d xname注:索引是不可更改的,想更改必须删除重新建9、说明:创建视图:crea t e v i ew v ie wn a me a s se 1 e c t st a t e me nt 删除视图:drop v iew v ie wname 10、说明:几个简单的基本的sql语句选择:se 1 e ct * from t a bl e 1 whe r e 范围插入:i n s e rt into tab 1 el (fi e ldl, f i e 1 d 2) valu删除:delete f rom table 1 w h ere 范围更新:up d at e tablel set f i el d l=valu e 1 wh ere查找:s ele c t * from tab 1 el whe r e fie 1 dl1 ike的语法很精妙,查资料!排序总数求和s el e ct * from t a b le 1 o r der b yselect count * a s total c o u nt f r omse I ec t sum (fi e ldl) as sumval u e f平均:s e I ectavg(fiel d 1) a s avgv a lue f r om最大from tabl e 1e s (va 1 ue 1 > value2)范用li ke%val u e 1 %fieldl, f ie 1 d2 [de s c] tablelr om t abl e 1t a ble 1sei ect max( fie ldl) as ma xvalue from t ablel 最小:sele c t min (field 1 ) a s minv a 1 u e11、 说明:几个高级查询运算词A : UNI ON运算符UN I ON运算符通过组合其他两个结果表(例如TABLE1和TABLE 2)并消去表中任何重 复行 而派生出一个结果表。
当ALL随UNION 一起使用时(即UNION ALL),不消除 重复行两种 情况下,派生表的每一行不是来自TABLE1就是来自TABLE 2 oB : EXCE P T运算符EXCEPT运算符通过包括所有在TABLE 1中但不在TABLE 2中的行并消除所有重复 行而派 生出一个结果表当ALL随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行C : I N TERSE C T运算符INTERSECT运算符通过只包括TABLE 1和TABLE2中都有的行并消除所有重复行 而派生出 一个结果表当ALL随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行注:使用 运算词的几个查询结果行必须是一致的12、 说明:使用外连接A、le f t outer join :左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行SQL: s e le c t a - 3, a. b , a. c, b. c> b . d> b. f f r om a LEFT OUT JOIN b 0 N a. a = b - cB: r ight o ute r join :右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
C: ful 1 oute r j o in :全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。