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

本文介绍了如何使用SQL查询数据库中的所有表、列以及表名,并提供了查询总存储过程数的方法。通过执行特定的SQL语句,可以获取数据库中用户表的信息、表的数量以及表的类型,包括默认值、外键、日志、标量函数、存储过程等。此外,文章还详细解释了如何排除默认的dtproperties表,并展示了如何通过SQL语句获取所有表名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值