MSSQL·查询某数据库中所有表的记录数并排序


阅文时长 | 0.27分钟 字数统计 | 444字符
主要内容 | 1、引言&背景 2、解决方案 3、声明与参考资料
『MSSQL·查询某数据库中所有表的记录数并排序』
编写人 | SCscHero 编写时间 | 2021/7/13 PM10:0
文章类型 | 系列 完成度 | 已完成
座右铭 每一个伟大的事业,都有一个微不足道的开始。

一、引言&背景   完成度:100%

a) 应对问题

如何查询MSSQL中某数据库中的所有数据表的记录数并排序?

b) 应用场景

  1. 需要查询所有表中的记录数,并按记录数排序的场景。
  2. 例如,数据迁移生成脚本时,为避免脚本文件过大,可将数据量大的数据表单独处理等。

c) 效果展示

二、解决方案   完成度:100%

使用MSSQL相关的系统表,如SYS.TABLES、SYS.EXTENDED_PROPERTIES、SYSINDEXES进行联查。

SELECT  ROW_NUMBER() OVER (ORDER BY All_Table.NAME) AS NO, 
			All_Table.NAME AS '表名(EN)',
			CONVERT(NVARCHAR(100),ISNULL(TableDesc.[VALUE],'-')) AS '表名(CN)',
			TabIndex.ROWS AS '记录数'
			FROM SYS.TABLES All_Table 
LEFT JOIN SYS.EXTENDED_PROPERTIES TableDesc ON (All_Table.OBJECT_ID = TableDesc.MAJOR_ID AND TableDesc.MINOR_ID = 0)--取表的名称两个条件
INNER JOIN SYSINDEXES TabIndex ON All_Table.OBJECT_ID=TabIndex.ID AND TabIndex.INDID < 2 

WHERE 1=1
 ORDER BY TabIndex.ROWS DESC

三、声明与参考资料   完成度:100%

原创博文,未经许可请勿转载。

如有帮助,欢迎点赞、收藏、关注。如有问题,请评论留言!如需与博主联系的,直接博客私信SCscHero即可。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM