SQL获取数据库中表信息:表名、建表时间、总行数、数据大小等

写法1(推荐)

SQL

USE [test] -- 只需修改这里的库名

SELECT  a.name table_name, -- 表名
        a.crdate crdate, -- 建表时间
        b.rows rows, -- 总行数
        8*b.reserved/1024 reserved, -- 保留大小(MB)
        rtrim(8*b.dpages/1024) used, -- 已使用大小(MB)
        8*(b.reserved-b.dpages)/1024 unused -- 未使用大小(MB)
FROM    sysobjects AS a
        INNER JOIN sysindexes AS b ON a.id = b.id
WHERE   ( a.type = 'u' )
        AND ( b.indid IN ( 0, 1 ) )
ORDER BY a.name,b.rows DESC;

案例
在这里插入图片描述

写法2:只获取库中表名、行数建表时间

SQL

USE [test] -- 只需修改这里的库名

SELECT A.NAME ,B.ROWS,crdate 
FROM sysobjects A JOIN sysindexes B ON A.id = B.id 
WHERE A.xtype = 'U' AND B.indid IN(0,1) 
ORDER BY B.ROWS DESC

案例
在这里插入图片描述

写法3:只查看表名和建表时间

SQL:

USE [test] -- 只需修改这里的库名

select name,crdate from sysobjects where xtype = 'U'

案例
在这里插入图片描述

写法4:有点小问题,大佬帮忙改一下

SQL

select object_name(id) tablename,
		 8*reserved/1024 reserved,
		 rtrim(8*dpages/1024)+'Mb' used,
		 8*(reserved-dpages)/1024 unused,
       8*dpages/1024-rows/1024*minlen/1024 free,
       rows ,
       t.create_date,
       t.modify_date 
from sysindexes,sys.tables as t
where  object_name(id) = 'test1'

案例
在这里插入图片描述

写法5:查看某个数据库大小

SQL

exec sp_spaceused;

案例
在这里插入图片描述

写法5:查看某个表

SQL

EXEC sp_spaceused 'test1'; -- 只需修改表名即可

案例
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuan2019035055/article/details/122310131