SQLServer如何用T-SQL命令查询一个数据库中有哪些表

 我来答
KDERP
2016-01-05 · 知道合伙人软件行家
KDERP
知道合伙人软件行家
采纳数:266 获赞数:699
2016-2017荣获 金达软件(广州) 最佳项目负责人

向TA提问 私信TA
展开全部

所有用户表都存放在数据库中的系统对象表sysobjects中。

笔者以个人专用数据库为例:

select * 

from sysobjects      --系统对象表

where xtype = 'U'    --U表示所有用户表

执行后影响的行数为180(rows),如下图:

补充说明:另两个与之相关的系统对象表为(附下图)

1)syscolumns :数据表列名清单表;

2)systypes:各列数据类型表。

jelvis
2015-12-28 · TA获得超过5631个赞
知道大有可为答主
回答量:2480
采纳率:62%
帮助的人:832万
展开全部

通过sys.objects就可以查询,

首先登陆到指定数据库

然后查询:

select name from sys.objects where type='U'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赵晶
2015-05-31 · 超过12用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:24万
展开全部
USE 你的库名
GO
-- 数据库空间使用情况
EXEC sp_spaceused
-- 查下文件空间使用情况
SELECT
file_id, name,
[文件大小(MB)] = size / 128.,
[未使用空间(MB)] = (size - FILEPROPERTY(name, N'SpaceUsed')) / 128.
FROM sys.database_files
-- 表空间使用情况
DECLARE @tb_size TABLE(
name sysname,
rows int,
size varchar(100),
data_size varchar(100),
INDEX_size varchar(100),
unused_size varchar(100)
);
INSERT @tb_size
EXEC sp_msforeachtable '
sp_spaceused ''?''
'
SELECT * FROM @tb_size
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rkc009
2015-05-30 · TA获得超过1499个赞
知道大有可为答主
回答量:2098
采纳率:60%
帮助的人:1697万
展开全部
select * from sys.tables
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式