导航:首页 > 程序命令 > sql2000命令

sql2000命令

发布时间:2022-05-01 19:36:19

⑴ 如何利用sql 2000命令行执行记事本中的SQL语句

Sql
Server利用master.dbo.xp_cmdshell执行DOS移动文件命令:
Sql
Server利用master.dbo.xp_cmdshell执行DOS移动文件命令1.用
sp_configure
开启master.dbo.xp_cmdshell功能:
sp_configure启动xp_cmdshell的用法我在这里给大家介绍一下,启动xp_cmdshell在查询中执行下面这句话。
EXEC
sp_configure
'show
advanced
options',
1;RECONFIGURE;EXEC
sp_configure
'xp_cmdshell',
1;RECONFIGURE;
关闭只是将上面语句中的后面的那个"1"改成"0"就可以了。
EXEC
sp_configure
'show
advanced
options',
1;RECONFIGURE;EXEC
sp_configure
'xp_cmdshell',
0;RECONFIGURE;
2.移动文件:
master.dbo.xp_cmdshell
'move
/Y
X:\备份数据库地址\*.*
X:\
临时文件夹
地址\
'
///
SQL2008
SQL2005
开启方法EXEC
sp_configure
N'show
advanced
options',
N'1'
RECONFIGURE
WITH
OVERRIDE
EXEC
sp_configure
N'xp_cmdshell',
N'1'
RECONFIGURE
WITH
OVERRIDE
EXEC
sp_configure
N'show
advanced
options',
N'0'
RECONFIGURE
WITH
OVERRIDE

⑵ SQL2000数据库 SQL查询命令

select
学号
from
学生信息表
where
成绩<60
3.
use
数据库
declare
@name
bigint
.delete
from
学生信息表
where
学号=1
5;
select
@name
=
班级名
from
学生信息表
where
name
=
'刘陈'
select
*
from
学生信息表
where
班级名
=
@name
41.
select
姓名,出生年份
from
学生信息表
2

⑶ sql2000 命令问题

1,delete 123
where date<'2010-01-01'
2, update 123
set data='2010-01-05'
where data='2010-01-03'
3, update 123
set [time]=dateadd(mi,-(RIGHT(CONVERT(bigint, ABS(CHECKSUM(NEWID()))), 2) %30+1),[time])
where datepart(hour,[time])=12 and datepart(minute,[time])=30

生成多个随机数,不能用rand,生成的是一样的
另外2题中的data如果是日期时间格式的,需要用函数转换

如果data如2010-07-18 14:46:00
则要把data换成成 convert(char(10),data,120)

如果data是字符型
update atdrecord
set [rectime]='14:'+right(CONVERT(bigint, ABS(CHECKSUM(NEWID()))%30)+100,2)
where [rectime]='14:30'

⑷ sql2000的T-SQL命令怎么写

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_backupdb]') and OBJECTPROPERTY(id, N'IsProcere') = 1)
drop procere [dbo].[p_backupdb]
GO

--
--/*--调用示例
--
----备份当前数据库
--exec p_backupdb @bkpath='D:',@bkfname='DBNAME_DATE_db.bak'
--
----差异备份当前数据库
--exec p_backupdb @bkpath='D:',@bkfname='db_DATE_df.bak',@bktype='DF'
--
----备份当前数据库日志
--exec p_backupdb @bkpath='D:',@bkfname='db_DATE_log.bak',@bktype='LOG'
----*/
create proc p_backupdb
@dbname sysname='', --要备份的数据库名称,不指定则备份当前数据库
@bkpath nvarchar(260)='', --备份文件的存放目录,不指定则使用SQL默认的备份目录
@bkfname nvarchar(260)='', --备份文件名,文件名中可以用DBNAME代表数据库名,DATE代表日期,TIME代表时间
@bktype nvarchar(10)='DB', --备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份
@appendfile bit=1, --追加/覆盖备份文件
@password nvarchar(20)='' --为备份文件设置的密码(仅sql2000支持),设置后,恢复时必须提供此密码
as
declare @sql varchar(8000)
if isnull(@dbname,'')='' set @dbname=db_name()
if isnull(@bkpath,'')=''
begin
select @bkpath=rtrim(reverse(filename)) from master..sysfiles where name='master'
select @bkpath=substring(@bkpath,charindex('',@bkpath)+1,4000)
,@bkpath=reverse(substring(@bkpath,charindex('',@bkpath),4000))+'BACKUP'
end
if isnull(@bkfname,'')='' set @bkfname='DBNAME_DATE_TIME.BAK'
set @bkfname=replace(replace(replace(@bkfname,'DBNAME',@dbname)
,'DATE',convert(varchar,getdate(),112))
,'TIME',replace(convert(varchar,getdate(),108),':',''))
set @sql='backup '+case @bktype when 'LOG' then 'log ' else 'database ' end +@dbname
+' to disk='''+@bkpath+@bkfname
+''' with '+case @bktype when 'DF' then 'DIFFERENTIAL,' else '' end
+case @appendfile when 1 then 'NOINIT' else 'INIT' end
+case isnull(@password,'') when '' then '' else ',PASSWORD='''+@password+'''' end
exec(@sql)
go

⑸ SQL server 2000命令

SQL2000常用命令2008年05月26日 星期一 11:341. 查看数据库的版本
select @@version
常见的几种SQL SERVER打补丁后的版本号:
8.00.194 Microsoft SQL Server 2000
8.00.384 Microsoft SQL Server 2000 SP1
8.00.532 Microsoft SQL Server 2000 SP2
8.00.760 Microsoft SQL Server 2000 SP3
8.00.818 Microsoft SQL Server 2000 SP3 w/ Cumulative Patch MS03-031
8.00.2039 Microsoft SQL Server 2000 SP4
2. 查看数据库所在机器操作系统参数
exec master..xp_msver
3. 查看数据库启动的参数
sp_configure
4. 查看数据库启动时间
select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1
查看数据库服务器名和实例名
print 'Server Name...............: ' + convert(varchar(30),@@SERVERNAME)
print 'Instance..................: ' + convert(varchar(30),@@SERVICENAME)
5. 查看所有数据库名称及大小
sp_helpdb
重命名数据库用的SQL
sp_renamedb 'old_dbname', 'new_dbname'
6. 查看所有数据库用户登录信息
sp_helplogins
查看所有数据库用户所属的角色信息
sp_helpsrvrolemember
修复迁移服务器时孤立用户时,可以用的fix_orphan_user脚本或者LoneUser过程
更改某个数据对象的用户属主
sp_changeobjectowner [@objectname =] 'object', [@newowner =] 'owner'
注意: 更改对象名的任一部分都可能破坏脚本和存储过程。
把一台服务器上的数据库用户登录信息备份出来可以用add_login_to_aserver脚本
查看某数据库下,对象级用户权限
sp_helprotect
7. 查看链接服务器
sp_helplinkedsrvlogin
查看远端数据库用户登录信息
sp_helpremotelogin
8.查看某数据库下某个数据对象的大小
sp_spaceused @objname
还可以用sp_toptables过程看最大的N(默认为50)个表
查看某数据库下某个数据对象的索引信息
sp_helpindex @objname
还可以用SP_NChelpindex过程查看更详细的索引情况
SP_NChelpindex @objname
clustered索引是把记录按物理顺序排列的,索引占的空间比较少。
对键值DML操作十分频繁的表我建议用非clustered索引和约束,fillfactor参数都用默认值。
查看某数据库下某个数据对象的的约束信息
sp_helpconstraint @objname
9.查看数据库里所有的存储过程和函数
use @database_name
sp_stored_proceres
查看存储过程和函数的源代码
sp_helptext '@procere_name'
查看包含某个字符串@str的数据对象名称
select distinct object_name(id) from syscomments where text like '%@str%'
创建加密的存储过程或函数在AS前面加WITH ENCRYPTION参数
解密加密过的存储过程和函数可以用sp_decrypt过程
10.查看数据库里用户和进程的信息
sp_who
查看SQL Server数据库里的活动用户和进程的信息
sp_who 'active'
查看SQL Server数据库里的锁的情况
sp_lock
进程号1--50是SQL Server系统内部用的,进程号大于50的才是用户的连接进程.
spid是进程编号,dbid是数据库编号,objid是数据对象编号
查看进程正在执行的SQL语句
dbcc inputbuffer ()
推荐大家用经过改进后的sp_who3过程可以直接看到进程运行的SQL语句
sp_who3
检查死锁用sp_who_lock过程
sp_who_lock
11.查看和收缩数据库日志文件的方法
查看所有数据库日志文件大小
dbcc sqlperf(logspace)
如果某些日志文件较大,收缩简单恢复模式数据库日志,收缩后@database_name_log的大小单位为M
backup log @database_name with no_log
dbcc shrinkfile (@database_name_log, 5)
12.分析SQL Server SQL 语句的方法:
set statistics time {on | off}
set statistics io {on | off}
图形方式显示查询执行计划
在查询分析器->查询->显示估计的评估计划(D)-Ctrl-L 或者点击工具栏里的图形
文本方式显示查询执行计划
set showplan_all {on | off}
set showplan_text { on | off }
set statistics profile { on | off }
13.出现不一致错误时,NT事件查看器里出3624号错误,修复数据库的方法
先注释掉应用程序里引用的出现不一致性错误的表,然后在备份或其它机器上先恢复然后做修复操作
alter database [@error_database_name] set single_user
修复出现不一致错误的表
dbcc checktable('@error_table_name',repair_allow_data_loss)
或者可惜选择修复出现不一致错误的小型数据库名
dbcc checkdb('@error_database_name',repair_allow_data_loss)
alter database [@error_database_name] set multi_user
CHECKDB 有3个参数:
repair_allow_data_loss 包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以及删除已损坏的文本对象,这些修复可能会导致一些数据丢失。
修复操作可以在用户事务下完成以允许用户回滚所做的更改。
如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。
如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。
修复完成后,请备份数据库。
repair_rest 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。
这些修复可以很快完成,并且不会有丢失数据的危险。
repair_rebuild 执行由 repair_rest 完成的所有修复,包括需要较长时间的修复(如重建索引)。
执行这些修复时不会有丢失数据的危险。
14.察看表的约束
sp_helpconstraint tablename
sp_help tablename --察看表结构,索引,约束等
15.添加用户
sp_addlogin loginname
16.更改用户连接后的默认数据库
sp_defaultdb loginname,tablename
17.察看当前数据库中的对象
select * from sysobjects where xtype='U'
xtype可以是:
xtype char(2) 对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
18.为已存在的列添加默认值约束
alter table tableName add constraint [constraintName] default {expression|(0)} for columnName
19.为已存在的列添加主键
alter table tableName add constraint [constraintName] primary key (columnName)
20.返回与当前数据库关联的文件的物理名称及特性
sp_helpfile
21.察看约束所对应的表名
select * from sysobjects where id=(select parent_obj from sysobjects where name='constraintName')
parent_obj:父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)

参考:http://hi..com/activezfj/blog/item/63117331b9fac81ceac4afec.html

⑹ 命令符中启动SQL2000启动和停止操作

1. 开始->管理工具->服务,或 开始->运行->service.msc,打开服务管理器,双击打开SQLSERVER服务,看一下“服务名称”,一般默认是mssqlserver(注意不是”显示名称")
2. 启动/停止命令,比如第1步”服务名称“查到的mssqlserver

启动sql server
net start mssqlserver
暂停sql server
net pause mssqlserver
重新启动暂停的sql server
net continue mssqlserver
停止sql server
net stop mssqlserver

⑺ SQL2000的简单命令

例 对现存字段改名:

ALTER TABLE distributors RENAME COLUMN address TO city;

详细用法

ALTER TABLE
Name
ALTER TABLE -- 修改表的定义
Synopsis

ALTER TABLE [ ONLY ] name [ * ]
action [, ... ]
ALTER TABLE [ ONLY ] name [ * ]
RENAME [ COLUMN ] column TO new_column
ALTER TABLE name
RENAME TO new_name

这里 action 是下列之一:

ADD [ COLUMN ] column type [ column_constraint [ ... ] ]
DROP [ COLUMN ] column [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] column TYPE type [ USING expression ]
ALTER [ COLUMN ] column SET DEFAULT expression
ALTER [ COLUMN ] column DROP DEFAULT
ALTER [ COLUMN ] column { SET | DROP } NOT NULL
ALTER [ COLUMN ] column SET STATISTICS integer
ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD table_constraint
DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]
CLUSTER ON index_name
SET WITHOUT CLUSTER
SET WITHOUT OIDS
OWNER TO new_owner
SET TABLESPACE tablespace_name

描述

ALTER TABLE 变更一个现存表的定义。它有好几种子形式:

ADD COLUMN

这种形式用和 CREATE TABLE 里一样的语法向表中增加一个新的字段。
DROP COLUMN

这种形式从表中删除一个字段。请注意,和这个字段相关的索引和表约束也会被自动删除。 如果任何表之外的对象依赖于这个字段, 你必须说 CASCADE,比如,外键参考,视图等等。
ALTER COLUMN TYPE

这种类型改变表中一个字段的类型。该字段涉及的索引和简单的表约束将被自动地转换为使用新的字段类型, 方法是重新分析最初提供的表达式。可选的 USING 子句声明如何从旧的字段值里计算新的字段值; 如果省略,那么缺省的转换就是从旧类型像新类型的赋值转换。如果从旧数据类型到新类型没有隐含或者赋值的转换, 那么必须提供一个 USING。
SET/DROP DEFAULT

这种形式为一个字段设置或者删除缺省值。请注意缺省值只应用于随后的 INSERT 命令; 它们不会导致已经在表中的行的数值的修改。我们也可以为视图创建缺省, 这个时候它们是在视图的 ON INSERT 规则应用之前插入 INSERT 语句中去的。
SET/DROP NOT NULL

这些形式修改一个字段是否标记为允许 NULL 值或者是拒绝 NULL 值。 如果表在字段中包含非空值,那么你只可以 SET NOT NULL。
SET STATISTICS

这个形式为随后的 ANALYZE 操作设置每字段的统计收集目标(default_statistics_target)。 目标的范围可以在 0 到 1000 之内设置;另外,把他设置为 -1 则表示重新恢复到使用系统缺省的统计目标。 有关 PostgreSQL 查询规划器使用的统计信息的更多信息, 请参考Section 13.2。
SET STORAGE

这种形式为一个字段设置存储模式。这个设置控制这个字段是内联保存还是保存在一个附属的表里,以及数据是否要压缩。 PLAIN 必需用于定长的数值,比如 integer,并且是内联的,不压缩的。 MAIN 用于内联,可压缩的数据。 EXTERNAL 用于外部保存,不压缩的数据, 而 EXTENDED 用于外部的压缩数据。 EXTENDED 是大多数支持非 PLAIN 存储的数据之缺省。 使用 EXTERNAL 将令在 text 字段上的子字串操作更快, 付出的代价是增加了存储空间。 请注意 SET STORAGE 本身并不改变表上的任何东西, 只是设置将来的表操作时,建议使用的策略。参阅 Section 49.2 获取更多信息。
ADD table_constraint

这个形式给表增加一个新的约束,用的语法和 CREATE TABLE 一样。
DROP CONSTRAINT

这个形式删除一个表上的约束。 目前,在表上的约束不要求有唯一的名字,因此可能有多个约束匹配声明的名字。 所有这样的约束都将被删除。
CLUSTER

这种形式为将来的 CLUSTER 选项选择缺省索引。它实际上并不重新对表建簇。
SET WITHOUT CLUSTER

这种形式从表中删除最新使用的 CLUSTER 索引。 这样会影响将来那些没有声明索引的建簇操作。
SET WITHOUT OIDS

这种形式从表中删除 oid 系统字段。 它和 DROP COLUMN oid RESTRICT 完全相同, 只不过是如果表上已经没有 oid 字段了,那么它不会报告错误。

请注意,不存在某种 ALTER TABLE 的变种可以在删除了 OID 之后再把它们恢复回来。
RENAME

RENAME 形式改变一个表的名字(或者是一个索引,一个序列,或者一个视图)或者是表中一个独立字段的名字。 它对存储的数据没有任何影响。
OWNER

这个形式改变表,索引,序列或者视图的所有者为指定所有者。
SET TABLESPACE

这种形式把表的表空间修改为指定的表空间并且把与表相关的数据文件移动到新的表空间去。 如果在表上呦索引,则不会移动。但是他们可以通过额外的 SET TABLESPACE 命令移动。参阅 CREATE TABLESPACE。
RENAME

RENAME 形式改变一个表(或者一个索引,序列,或者视图)的名字, 或者是表中独立字段的名字。它们对存储的数据没有影响。

除了 RENAME 之外所有动作都可以捆绑再一个多次修改的列表中同时施用。 比如,我们可以在一个命令里增加几个字段和/或修改几个字段的类型。 对于大表,这么做特别有用,因为只需要对该表做一次处理。

要使用 ALTER TABLE,你必需拥有该表; 除了 ALTER TABLE OWNER 之外,它只能由超级用户执行。
参数

table

试图更改的现存表(可能有模式修饰)的名称。 如果声明了 ONLY,则只更改该表。 如果没有声明 ONLY,则该表及其所有后代表(如果有)都被更新。 我们可以在表名字后面附加一个 * 表示后代表都被扫描,但是在目前的版本里,这是缺省行为。 (在7.1之前的版本,ONLY 是缺省的行为。)缺省可以通过改变配置选项 sql_inheritance 来改变。
column

现存或新的字段名称。
new_column

现存字段的新名称。
new_name

表的新名称。
type

新字段的类型,或者现存字段的新类型。
table_constraint

表的新的约束定义。
constraint_name

要删除的现有约束的名字。
index_name

要标记为建簇的表上面的索引名字。
CASCADE

自动删除依赖于被依赖字段或者约束的对象(比如,引用该字段的视图)。
RESTRICT

如果字段或者约束还有任何依赖的对象,则拒绝删除该字段。 这是缺省行为。
new_owner

该表的新所有者的用户名。
tablespace_name

这个表将要移动往的表空间名字。

注意

COLUMN 关键字是多余的,可以省略。

如果用 ADD COLUMN 增加一个字段,那么所有表中现有行都初始化为该字段的缺省值 (如果没有声明 DEFAULT 子句,那么就是 NULL)。

用一个非空缺省增加一个字段或者是改变一个字段的现有类型会要求整个表的重写。 对于大表来说,这个操作可能会花很长时间;并且它还临时需要两倍的磁盘空间。

增加一个 CHECK 或者 NOT NULL 约束要求扫描该表以保证现有的行复合约束要求。

提供在一个 ALTER TABLE 里面声明多个修改的主要原因是原先需要的对表的多次扫描和重写可以组合成一个回合。

DROP COLUMN 命令并不是物理上把字段删除, 而只是简单地把它标记为 SQL 操作中不可见的。随后对该表的插入和更新将在该字段存储一个 NULL。 因此,删除一个字段是很快的,但是它不会立即缩减你的表在磁盘上的大小,因为被删除了的字段占据的空间还没有回收。 这些空间将随着现有的行的更新而得到回收。

ALTER TYPE 要求重写整个表的特性有时候是一个优点, 因为重写的过程消除了任何表中的没用的空间。比如,要想立刻回收被一个已经删除的字段占据的空间, 最快的方法是

ALTER TABLE table ALTER COLUMN anycol TYPE anytype;

这里 anycol 是任何在表中还存在的字段,而 anytype 是和该字段的原类型一样的类型。 这样的结果是在表上没有任何可见的语意的变化,但是这个命令强迫重写,这样就删除了不再使用的数据。

ALTER TYPE 的 USING 选项实际上可以声明涉及该行旧值的任何表达式; 也就是说,它可以引用除了正在被转换的字段之外其它的字段。这样,我们就可以用 ALTER TYPE 语法做非常普遍性的转换。因为这个灵活性,USING 表达式并没有施用于该字段的缺省值(如果有的话); 结果可能不是缺省表达式要求的常量表达式。 这就意味着如果从旧类型到新类型如果没有隐含或者赋值转换的话, 那么即使存在 USING 子句的情况下, ALTER TYPE 也可能无法把缺省值转换成新的类型。 在这种情况下,我们应该用 DROP DEFAULT 先删除缺省, 执行 ALTER TYPE,然后使用 SET DEFAULT 增加一个合适的新缺省。 类似的考虑也适用于涉及该字段的索引和约束。

如果表有任何后代表,那么如果不在后代表上做同样的修改的话, 就不允许在父表上增加,重命名或者修改一个字段的类型,也就是说, ALTER TABLE ONLY将被拒绝。这样就保证了后代表总是有和父表匹配的字段。

一个递归DROP COLUMN 操作将只有在后代表并不从任何其它父表中继承该字段并且从来没有独立定义该字段的时候才能删除一个后代表的字段。 一个非递归的DROP COLUMN(也就是,ALTER TABLE ONLY ... DROP COLUMN)从来不会删除任何后代字段, 而是把他们标记为独立定义的,而不是继承的。

不允许更改系统表结构的任何部分。

⑻ sql server 2000 怎么进入命令行

使用命令提示符下的 ISQL 或OSQL,两个命令基本一致,图为ISQL详细参数

⑼ sql2000的insert,select,update和delete命令使用

(1)数据记录筛选:
sql="select*from数据表where字段名=字段值orderby字段名[desc]"
sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"
sql="selecttop10*from数据表where字段名orderby字段名[desc]"
sql="select*from数据表where字段名in('值1','值2','值3')"
sql="select*from数据表where字段名between值1and值2"
(2)更新数据记录:
sql="update数据表set字段名=字段值where条件表达式"
sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式"
(3)删除数据记录:
sql="deletefrom数据表where条件表达式"
sql="deletefrom数据表"(将数据表所有记录删除)
(4)添加数据记录:
sql="insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)"
sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表)
(5)数据记录统计函数:
AVG(字段名)得出一个表格栏平均值
COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名)取得一个表格栏最大的值
MIN(字段名)取得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
引用以上函数的方法:
sql="selectsum(字段名)as别名from数据表where条件表达式"
setrs=conn.excute(sql)
用rs("别名")获取统的计值,其它函数运用同上。
(5)数据表的建立和删除:
CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……)

⑽ 怎么执行sql命令

执行sql命令步骤如下:

1、点击页面中的【SQL】。

以上就是执行sql命令的步骤。

阅读全文

与sql2000命令相关的资料

热点内容
怎么删除一个app下载任务 浏览:713
python执行bat命令 浏览:471
什么吉他调音器app最好 浏览:33
php程序员招聘试题 浏览:14
程序员升职记第九关最优解 浏览:317
三星安卓11怎么访问data文件夹 浏览:817
华三服务器怎么设置开机自启 浏览:711
钉邮登录服务器地址 浏览:644
起源编译器适配第二款应用 浏览:433
cad弄断线条命令 浏览:463
怎么恢复手机app的安装包 浏览:300
idea重启项目不编译 浏览:495
程序员那么可爱演员表陆漓妈妈 浏览:127
linuxgadget驱动 浏览:594
华三调用acl的命令 浏览:9
资金流pdf 浏览:931
金融结算法补充条款 浏览:291
什么叫服务器怎么连接 浏览:521
空调压缩机有制冷但室内不是很冷 浏览:839
如何查解压成功 浏览:652