新手电脑网's Archiver

syziy 发表于 2008-9-19 09:14

SQL语句大全

*************导出到Access********************/ ~5vA1TR
insert into openrowset('Microsoft.Jet.OLEDB.4.0',
~0{O'Ri/nU2k    'x:\A.mdb';'admin';'',A表) select * from 数据库名..B表zi9`mc
q(Q;@hpH(K
/*************导入Access********************/
8fkQ4~?3Z#pkb:g)RM insert into B表 selet * from openrowset('Microsoft.Jet.OLEDB.4.0',
+{@@ a.~b|DfQ    'x:\A.mdb';'admin';'',A表)E7U%gU7I,ZJ7W E

{ W)zC1^6dH(D j !b:m D;u]3R
insert into userxx SELECT *
f-z3s W AYw FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
%a;BX| T,v2s 'c:\hao.mdb';'admin';''
O LA:R*u"b ,[user]) 将hao.mdb的user数据插入到已经存在的userxx表中X.d2q0B D4h V)?q
%L!}mK5B#D]

4`"B9d*R6g2u SELECT * into userxx }4|k } w/G
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
?t,dp d.HU5^u 'c:\hao.mdb';'admin';''
{5A @-G4v"ke a ,[user]) 将user列数据新建一个userxx的表放在里面
zh r;YS D /m7v7zM3^`J
)QQqP/Hnr
1B| Sc nJE G

:pl?&Pc r select * into [d].[dbo].[config] from [BFTQ2007].[dbo].[config]!`b0M8\&xrn-fL

$HwoBF` t
*@%uXk}9W1nt~!` SELECT name,domurl,content FROM [movmdb].[dbo].[learning] where title='好奇害死猫'+`p!yZY2`M WH
j$~-\_!Ldt
SELECT photoname,synopsis FROM [WebMedia].[dbo].[ProgInfo] where progname='好奇害死猫'
E2f~1acG3i;? 2`*q?cp!r!v0[~%?w3W
update [WebMedia].[dbo].[ProgInfo] set synopsis='2a' where progname='好奇害死猫'
.kQP&Y&u1NuV3l pu } z2N(V
select * into A2.dbo.table2 from A1.dbo.table1
G:_NNEI
'ul-m Ax}s8nF] !Cy Rao2w$s&o2]v
select * into [1].[titl] from [learning].[title]+C @|LpQ
mE _i%{(m9bh ]

L i j6G r(E1xs%? select * into [1] from (select title from [learning])
I!W8wX \@7C#x`R
UA-`\ })nT update 1 set 1.tt=learning.domurl where 1.title=(select title from learning)
Z_,f/S*a (rY-Q;E2s]+Y
insert INTO 1(tt) s|6f$o3rH
select domurl FROM learning
q'h#\4l9w J9j WHERE softlevel='5'5F0B*Hy,~]
^]y&f`)ta5EkB\

y/d2uZQhR r m update webmedia.dbo.proginfo set webmedia.dbo.proginfo.synopsis=movmdb.dbo.learning.content from webmedia.dbo.proginfo,movmdb.dbo.learning MT4\u6xME'da^!}
where webmedia.dbo.proginfo.progname=movmdb.dbo.learning.title --更新和别的数据库相同文件名的内容介绍
,k4h {B-S4rp U)Qj!^ ^;?WQ @Ah
update webmedia.dbo.proginfo set webmedia.dbo.proginfo.actor=movmdb.dbo.learning.name from webmedia.dbo.proginfo,movmdb.dbo.learning
~']`(RT(Rqj where webmedia.dbo.proginfo.progname=movmdb.dbo.learning.title --更新和别的数据库相同文件名的作者
+q!OH.q6W`GEm(n}:N
pe1z&@Ox{Z update webmedia.dbo.proginfo set webmedia.dbo.proginfo.photoname=movmdb.dbo.learning.domurl from webmedia.dbo.proginfo,movmdb.dbo.learning HQTq9Z [6WDc
where webmedia.dbo.proginfo.progname=movmdb.dbo.learning.title--更新和别的数据库相同文件名的图片
9Z)G)h8|g[WSb
A9Q,p6jTe .cd2Y hmjQG%V qld
.cd1 \V6t.Y:t*p#Jeep

^\DL7p[ SELECT movmdb.dbo.learning where title='大丈夫' d;g5Ph1_X H\
F-A J5uJ
update Photo set Thumb=replace(thumb,".jpg ","_X.jpg ") WY l!a5IBN\.J3Y
J M&bT?$y*f
update learning set domurl=replace(domurl,"film-img/","WebMedia/VODJPG/")
?;C[Nwv~B WebMedia/VODJPG/玻璃舰队20071221145200.jpg
5\'i^'EKiF
/g7VL@+P'l
E V3a*@AT:W'm SQL语句大全
YxOznP
V6sN;?&|D.EI0tP 一、基础
M.}i qLE 1、说明:创建数据库 O b+hf$\;]6a gM
Create DATABASE database-name
U%m!p]dF2^IO 2、说明:删除数据库
['z{#|:c2W5D\(W|eU drop database dbname {e%Q9[Y T"yw
3、说明:备份sql server
~ c;@j0Bf%v1C --- 创建 备份数据的 device
Pc\']dTD USE master k v%FH7vr(OT7uq x
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
H$P8^fzv&e4NZ --- 开始 备份 (}1d3|7J y&p
BACKUP DATABASE pubs TO testBack 1IJe+X9F&{H"Td
4、说明:创建新表
]3q"t:Mj U'}t create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
'^7MS1S H~&w 根据已有的表创建新表: ;lk7]w6?
A:create table tab_new like tab_old (使用旧表创建新表)
0mPI{7^z B:create table tab_new as select col1,col2… from tab_old definition only /`"X*[,r2R6{-W'G
5、说明:删除新表
,G M&kk9DZwX drop table tabname )a|5b!neV
6、说明:增加一个列
4s#}'D.u5KH-C$H Alter table tabname add column col type
*J_5up1B1X&D.}:e 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 $@$R4G}&Cy._
7、说明:添加主键: Alter table tabname add primary key(col)
w'E+C v|]U,hQG? 说明:删除主键: Alter table tabname drop primary key(col) W6K CZ sB#T%E7K5G$o0q
8、说明:创建索引:create [unique] index idxname on tabname(col….)
/C}+Iwf@w2a P3W 删除索引:drop index idxname Gf {7t:?4l
注:索引是不可更改的,想更改必须删除重新建。 h1g6PEb+E
9、说明:创建视图:create view viewname as select statement
OO(y)h*oG*Z 删除视图:drop view viewname
@8toh]H4Lv 10、说明:几个简单的基本的sql语句 aS]UA@4^;YN:?8k
选择:select * from table1 where 范围 r"~fZR!Faj
插入:insert into table1(field1,field2) values(value1,value2) }Fa,F\f4V
删除:delete from table1 where 范围
A%c w_k(U(Q 更新:update table1 set field1=value1 where 范围
9QKaV!ubJ9sx 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! :p]{!rL#{0o
排序:select * from table1 order by field1,field2 [desc] @3E \G%jQi
总数:select count as totalcount from table1
Dz"G3Q]_K 求和:select sum(field1) as sumvalue from table1 o6yR`$U6p_8q
平均:select avg(field1) as avgvalue from table1 ywksu9]h
最大:select max(field1) as maxvalue from table1 }"lsW:|
最小:select min(field1) as minvalue from table1 H!b1l:[ i7h \eC
11、说明:几个高级查询运算词
M!C4~C:Y\)T,VY!S \ A: UNION 运算符
Z,@X e Ho1H6n"M UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。 (kK*oG+e)J:]P
B: EXCEPT 运算符
/@_ { cc-s@ EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 *|~R$a7K
C: INTERSECT 运算符 zVe8f-D2?eL^4^|+o
INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。
u l+w S(D9T,m RI 注:使用运算词的几个查询结果行必须是一致的。
*I U&Q @v*L V.v4v 12、说明:使用外连接 )`*TD B^@&D:u7M
A、left outer join: (x2R n Rf0mc:J
左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。 J'I;x}$Q"X
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 +NRs?;~d,k
B:right outer join: .\4pJ4m"F;j*UH
右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。 !I-H T|"rG#C
C:full outer join: k]b+d+V Gx7Y3?7C(p
全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
5M.Gh0R6?q DM+cY
?2ei{b 二、提升#u:e`W1o,Au

[0fTG4m#h'D+f 1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用) *K-qDKUO.FER D
法一:select * into b from a where 1<>1
(W Eyd g*@7Za c%Yl 法二:select top 0 * into b from a
s+Zb n G(iJa 2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用) !O4R4Ra^gyZ \
insert into b(a, b, c) select d,e,f from b;ZQ`1kf
*e_D#{,Z xd#?J
3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用) &ON6T E9V Yv A
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
)zE'ba;uky'Z9D\m 例子:..from b in '"&Server.MapPath("."&"\data.mdb" &"' where..
|2AxN"n K
e?r@s:~.a(m 4、说明:子查询(表名1:a 表名2:b) &mp.O!^8r3x6]PQ$s+f
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)
&K:Vb5FZo 2gpS.`Mh(\u6H
5、说明:显示文章、提交人和最后回复时间 { _x p }T
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b,G A2CqM Oyo9g

6|'RU#BE 6、说明:外连接查询(表名1:a 表名2:b)
0GM q+K_&ejBmg select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c^'fZ&Vfqy%l2e

;MkqIh ^ua6C(I 7、说明:在线视图查询(表名1:a ,aFfB3QB d
select * from (Select a,b,c FROM a) T where t.a > 1;
"Q:o0gboze#Y UB U4o:U~;P
8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括 W$t$kQd,p S#f \N5|
select * from table1 where time between time1 and time2 j8M6U^@
select a,b,c, from table1 where a not between 数值1 and 数值2
_d Se2G"] (FL$v"XOP
9、说明:in 的使用方法
eW;q]o&H select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)Ff@6~*jk!Ffu'iw
nUMdqH
10、说明:两张关联表,删除主表中已经在副表中没有的信息 y6K#@G9n!U6W$n#iw
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1YS Pn/\
.Wy&uV%p*ik{m
11、说明:四表联查问题:
6u5m1m-xnq R(SoP 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 .....
Q-Na{#Q \Et4QoXn9k.@ f:F
12、说明:日程安排提前五分钟提醒
]O]]aI SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5
l `YyIy7]K
d)M tj&U}5`B 13、说明:一条sql 语句搞定数据库分页 B/O fF5SK H6p^ Z
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段
cW+HlCkTY*gO Qr;F!t \(BMz
14、说明:前10条记录 I4H(\ v(S9^
select top 10 * form table1 where 范围
/Qlf4S#a:_S S#LH8hrze
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) ;r {9bq+D)xe
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)l Uh4_j8d$h6V
(KN)K+h@@N
16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表 V_4K4NM-`*u)K
(select a from tableA except (select a from tableB) except (select a from tableC)
K d!w{bn9cl)P O/?0[ Q-n/_
17、说明:随机取出10条数据
np.fa+h` k&s.m select top 10 * from tablename order by newid()
j9s @{a9K;W f/H]ZF5^0gNP
18、说明:随机选择记录 Sx]:~My
select newid()3D'Hy_5{s
U.U$L3vC9Nv
19、说明:删除重复记录
-|ex M.Y Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
5C"vC6O\:i
]*~O(Y%b ru E5A L 20、说明:列出数据库里所有的表名 :v G!u]!G6s$Q4K K
select name from sysobjects where type='U'l,gU.o1[(F?}#B
{M3Hl+j h@4S
21、说明:列出表里的所有的
'?i;{(EE*E`&Q4?)I+n select name from syscolumns where id=object_id('TableName')
nR;aE L P@$fFO `m4@
22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。
6ZvS:CY/Y1V1z 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 {d1O1U_/iIK
显示结果: b%P4\6ItC)J
type vender pcs $R l;Z%y(`
电脑 A 1
&rf,J~ X 电脑 A 1 7v2]km;oi
光盘 B 2 \TG1U+X
光盘 A 2 If'{ a.k7G
手机 B 3 MW4qH"Q-]-V
手机 C 3
/LKg:b})oQ/U4[K G4lc&U i+oa8X(tv's
23、说明:初始化表table1
c8M(m8{\{w |&^] _m4L0@d
TRUNCATE TABLE table1
8rVP Q*rv8N ObF
-Z7?;CX ~$Y B 24、说明:选择从10到15的记录 +n] IQKK|
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id descH b(RvW#IA

9h"E$h4e)k l |$@ 三、技巧{8h'];b/[F!p:A
5{WX9x+d
1、1=1,1=2的使用,在SQL语句组合时用的较多GdU0j8G

tHfm~ X!b “where 1=1” 是表示选择全部 “where 1=2”全部不选,
0D9W&yX"{&tFc 如: 5\MT@^!zL"p
if @strWhere !='
6S5W9HXq begin
Y._)[8ldJvb set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
#XVG$l*^2v end
9trhR'Ob A else
,Gpr{"E Z"C M} begin '{a:Y:i0x bb
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'
n9|%Q&e)_1N9qj Kz end
Z @e_R'S G
y!diu&x 我们可以直接写成 :_+D;_}EF
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 安定 '+ @strWhere
.OvF;f#n%jX{HR;n#X
I.}?&Ja 2、收缩数据库
O0x6Iw'w;H4S$Gg ^ --重建索引 pnE L }w
DBCC REINDEX
+| e\6p+L-B,X DBCC INDEXDEFRAG 4\2a] eG!_"n kH
--收缩数据和日志 (mpb7N0R7q'v;@7y
DBCC SHRINKDB
RG~ z-K:WP:^ DBCC SHRINKFILE
U {3]xa
H5?V v)D;a7a 3、压缩数据库
!J$q0Z \&B.{e,k dbcc shrinkdatabase(dbname)j,h}7}$tR7J:z3\
j `@}+~ b0uK
4、转移数据库给新用户以已存在用户权限 I3~P~eT"{
exec sp_change_users_login 'update_one','newname','oldname' -P6bj1~#j)h)f'o X
go;gT7?"SPu
;L z1z6b$V[
5、检查备份集 8YUz)~m6pM1J6\|
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
R0U2p:Q QKd
8BBM/ej2KHS"m 6、修复数据库 Y ?6n}*e
Alter DATABASE [dvbbs] SET SINGLE_USER {e KV2EJ,Y%W4n
GO Q _rU6tBg3dX2n
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK #@g/J}2q&?RD
GO
l6|3M Uf7c/~9G;\_ Alter DATABASE [dvbbs] SET MULTI_USER )u~Vle:c
GO
:Cwi`q'D | :f,~ lh X?!brLJ
7、日志清除 +?o] Oj
SET NOCOUNT ON d? I0WV&pz8u#cf
DECLARE @LogicalFileName sysname, 3f&H%R3TME6zp3f
@MaxMinutes INT,
PfAs zw4R M @NewSize INT
[z{?A vNi
d~(G$U%WS?.O7D*Kk E`;~y
;lhXq ZHh USE tablename -- 要操作的数据库名
Ji;k F'A th*| Select @LogicalFileName = 'tablename_log', -- 日志文件名 }cP u)X:d ]RS
@MaxMinutes = 10, -- Limit on time allowed to wrap log. D H[SA
@NewSize = 1 -- 你想设定的日志文件的大小(M)gK A4Y3M

fo%k"Q$_ -- Setup / initialize
+d+}3BR w E%hM DECLARE @OriginalSize int
C5i[-n%n Select @OriginalSize = size )}!`S){v4X{R
FROM sysfiles
yWC_+I+lJZ Where name = @LogicalFileName F3L?h8j6V0n a;~}
Select 'Original Size of ' + db_name() + ' LOG is ' + QC` P O0v Y
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' + [le&Tz$Ak
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB' 8M\8OW%p
FROM sysfiles n1Li(KZL
Where name = @LogicalFileName \&}3[$tV7\ wK
Create TABLE DummyTrans
P1[UF`&`G (DummyColumn char (8000) not null)
6[sh:^ R0If
+L&{,K|(S
`*fJ5k#HEo DECLARE @Counter INT,
{7O"lCtR | @StartTime DATETIME,
h!\I5QJ$y9P @TruncLog VARCHAR(255) q$|-o-Ri F#dW
Select @StartTime = GETDATE(), 8X0w4Tunc G
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'RW DBL!k
dxm"K9{ yB+B!]"r8R
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
&_6TR0i?jY&N EXEC (@TruncLog) z$Z#LU$M'm8e8Af
-- Wrap the log if necessary. +p(o ~Nu
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired G7ALzDi5\
AND @OriginalSize = (Select size FROM sysfiles Where name = @LogicalFileName) 5~I s5c Wz{o+k
AND (@OriginalSize * 8 /1024) > @NewSize
m u y._ Z6R{ BEGIN -- Outer loop.
e{+^~zh&hP Select @Counter = 0
G"S:T(}*Sev WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
I#|jr&l+f BEGIN -- update
P2oN5neQ Insert DummyTrans VALUES ('Fill Log')
[ p"fiy Delete DummyTrans
N+q*Y-^ Zpk&p!n2q/`z Select @Counter = @Counter + 1 A5`5`+~)s1t
END
j"r2eG2LV EXEC (@TruncLog)
?Tly7b*S END ~ ]V/|;b2J
Select 'Final Size of ' + db_name() + ' LOG is ' + AI3v&{ yX
CONVERT(VARCHAR(30),size) + ' 8K pages or ' + )[:]Ev1[I
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB' VC5Z.YL5z6j
FROM sysfiles os/M S%a^!j&c b3q
Where name = @LogicalFileName
F-^D+r!F ?;t,cV Drop TABLE DummyTrans
qr1rZ%w(x w1[ SET NOCOUNT OFFAa P(?|
7ci4?)ccC$K
8、说明:更改某个表 )JGA,p~!R
exec sp_changeobjectowner 'tablename','dbo'
%a kr[4e[)t'Rs
4T1f9FEP1o \-h~ y0y 9、存储更改全部表[6e a8J,}I8OOg
.hDU5J%zJB$Fr!v
Create PROCEDURE dbo.User_ChangeObjectOwnerBatch
8|R9M1r/@r[G @OldOwner as NVARCHAR(128), :Q$^K w6L"]BH
@NewOwner as NVARCHAR(128)
K ZG6XO6}4Mu1F ASoG&e(q K

J'o ?+x&r%x DECLARE @Name as NVARCHAR(128)
k'~"T3N5|aeh DECLARE @Owner as NVARCHAR(128)
B%? N8fJk DECLARE @OwnerName as NVARCHAR(128)J_p1b+h'GW^ Gl

N?mVG9U DECLARE curObject CURSOR FOR 7X,h7At2nK ~"[
select 'Name' = name, R |}t3g8_ x
'Owner' = user_name(uid) vRp)Mk*g(y
from sysobjects S$g6Za4A;C,F
where user_name(uid)=@OldOwner [7]u@r3@h
order by name
E6G1UJ@)Y;m%U F[l 5ow.RU"`G5h C"i
OPEN curObject YP%b2J$jE8Ge
FETCH NEXT FROM curObject INTO @Name, @Owner
Y.W_1{ t ZUQ WHILE(@@FETCH_STATUS=0) mbh*o,u;~(Z2z
BEGIN O ]+cG5f#mx"n)V jCA9_
if @Owner=@OldOwner
I\ L8Qq;qq4]r begin
1w5Y tHVo[cd7vc set @OwnerName = @OldOwner + '.' + rtrim(@Name)
2hG#H&Uc exec sp_changeobjectowner @OwnerName, @NewOwner )X F ]PLW8Oi2k'A
end
? Fu-[+Rfy1N -- select @name,@NewOwner,@OldOwner
m"J%_(w9z:H._;V4l1Z4c iu
r N6d%^"F FETCH NEXT FROM curObject INTO @Name, @Owner S*nT ^B
END
oT7S1Y j7Q
u[\,S~.ME%g%d9MT$M close curObject
h|j0~s A-g3|Q deallocate curObject )k5L"Hx8`
GOow}$QT&d(op
}*J/Tu[

3BZ|4gZw0B X 10、SQL SERVER中直接循环写入数据
(o|K'}.T ] declare @i int
5]B GGj(xi*? z_ y set @i=1
B4U!F a6X while @i<30
w!{f(_dk!ZAC begin
$aiJL)}JL:wo1W insert into test (userid) values(@i) ^Zl_Y_3JS
set @i=@i+1
'|&l|%K8x"U5gO end

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.