您的位置:首页 > 数据库

SQLServer如何用T—SQL命令查询一个…

2014-06-07 17:45 113 查看
1、查询SQL中的所有表: Select TABLE_NAME FROM
数据库名称.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE'
执行之后,就可以看到数据库中所有属于自己建的表的名称

 

2、查询SQL中所有表及列: Select dbo.sysobjects.name as
Table_name, dbo.syscolumns.name AS Column_name FROM dbo.syscolumns
INNER JOIN dbo.sysobjects ON dbo.syscolumns.id = dbo.sysobjects.id
Where (dbo.sysobjects.xtype = 'u') AND (NOT (dbo.sysobjects.name
LIKE 'dtproperties'))

 

3、在Sql查询分析器,还有一个简单的查询方法: EXEC sp_MSforeachtable
@command1="sp_spaceused '?'"
执行完之后,就可以看到数据库中所有用户表的信息

 

4、查询总存储过程数:select count(*) 总存储过程数 from sysobjects
where xtype='p'

 

附:xtype类型

D = 默认值或 DEFAULT 约束

F = FOREIGN KEY 约束

L = 日志

FN = 标量函数

IF = 内嵌表函数

P = 存储过程

PK = PRIMARY KEY 约束(类型是 K)

RF = 复制筛选存储过程

S = 系统表

TF = 表函数

TR = 触发器

U = 用户表

UQ = UNIQUE 约束(类型是 K)

V = 视图

X = 扩展存储过程

 

 

 

另:在sqlserver中取得某个数据库中所有表名的sql语句

select    
sysobjects.name    
from    
sysobjects.xtype    
='U';

SELECT name

FROM sysobjects

WHERE (xtype = 'U')

在数据库的sysobjects表里有这个数据库全部表的信息,    
xtype值为'U'的就是表名

 

 

 

注意:一般通过上述方法获得全部用户表示都会有一个dtproperties表,SQL SERVER 默认它也是用户表,想要从用户表中排出,需要加上限定条件 status>0,即:

select  
*  
from  
sysobjects  
where  
xtype='U'   and
status>0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐