SqlServer查询所有表名及其数据行数

 

SELECT a.NAME
    ,b.rows
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

 

SELECT 
    t.NAME AS TableName,
    s.Name AS SchemaName,
    p.rows AS RowCounts
FROM 
    sys.tables t
INNER JOIN      
    sys.schemas s ON t.schema_id = s.schema_id
INNER JOIN 
    sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
    sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
WHERE 
    i.index_id <= 1  -- 只统计堆或聚集索引的行数
ORDER BY 
    TableName;

 

posted @ 2025-12-14 10:09  love/coder  阅读(8)  评论(0)    收藏  举报