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

如题所述

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

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

select * 

from sysobjects      --系统对象表

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-28

通过sys.objects就可以查询,

首先登陆到指定数据库

然后查询:

select name from sys.objects where type='U'

第2个回答  2015-05-31
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本回答被提问者和网友采纳
第3个回答  2015-05-30
select * from sys.tables

相似回答