首页 > 资讯列表 > 编程/数据库 >> 数据库操作教程

SQL小技巧又快又简单的得到你的数据库每个表的记录数

数据库操作教程 2022-09-23 16:55:08 转载来源: 网络整理/侵权必删

但是如何得到某个数据库所有的表的记录数,你要是用上面的方法估计得累死了。呵呵下面提供如何借用sysindexes和sysobjects表来得到某个数据库每个表记录数的方法:先给出SQLServer2000版本的:复制代码代码如下:SELECTo.NAME,i.rowcntFROMsysindexesASiINNERJOINsysobjectsASoONi.id=o.idWHEREi.indid<2ANDOBJECTPROPERTY(o.id,'IsMSShipped')=0ORDERBYo.NAMESQLServer2005/8版本的SQL语句:复制代码代码如下:SELECTo.name,ddps.row_countFROMsys.indexesASiINNERJOINsys.objectsASoONi.OBJECT_ID=o.OBJECT_IDINNERJOINsys.dm_db_partition_statsASddpsONi.OBJECT_ID=ddps.OBJECT_IDANDi.index_id=ddps.index_idWHEREi.index_id<2ANDo

但是如何得到某个数据库所有的表的记录数,你要是用上面的方法估计得累死了。呵呵
下面提供如何借用sysindexes和sysobjects表来得到某个数据库每个表记录数的方法:
先给出SQL Server 2000版本的:
复制代码 代码如下:

SELECT o.NAME,
i.rowcnt
FROM sysindexes AS i
INNER JOIN sysobjects AS o ON i.id = o.id
WHERE i.indid < 2
AND OBJECTPROPERTY(o.id, 'IsMSShipped') = 0
ORDER BY o.NAME

SQL Server2005/8版本的SQL 语句:
复制代码 代码如下:

SELECT o.name,
ddps.row_count
FROM sys.indexes AS i
INNER JOIN sys.objects AS o ON i.OBJECT_ID = o.OBJECT_ID
INNER JOIN sys.dm_db_partition_stats AS ddps ON i.OBJECT_ID = ddps.OBJECT_ID
AND i.index_id = ddps.index_id
WHERE i.index_id < 2
AND o.is_ms_shipped = 0
ORDER BY o.NAME

赶快试试吧,肯定和你count(*)得到的结果相同。

标签: SQL 技巧 又快 简单 得到 你的 数据库 每个 记录


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持