我正在搜索一个SQL脚本,该脚本可用于确定给定数据库的任何表中是否有任何数据(即行数).

这样做的目的是在数据库中存在任何行的情况下重新体现数据库.

正在讨论的数据库是Microsoft SQL SERVER.

有人能推荐一个示例脚本吗?

推荐答案

以下SQL将获取数据库中所有表的行数:

CREATE TABLE #counts
(
    table_name varchar(255),
    row_count int
)

EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?'
SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC
DROP TABLE #counts

输出将是表及其行计数的列表.

如果只需要整个数据库中的总行数,请附加:

SELECT SUM(row_count) AS total_row_count FROM #counts

将获得整个数据库中总行数的单个值.

Sql相关问答推荐

每个时间间隔总和的PostgreSQL窗口函数

如何返回字符串中包含相同值的数据?

SQL—如何在搜索的元素之后和之前获取元素?

如果开始期间不存在PostgresSql回填数据

部分匹配表中元素的MariaDB查询查找结果

查询每周数据(周一至周日),避免年度日期重叠

在SELECT中将日期格式转换为双周时段

比较SQL中以逗号分隔的字符串

提取连续时间戳范围的SQL

将SQL Server查询改进为;线程安全;

Snowflake 中的分层数据

Postgresql:在链接表中判断相关表中插入值的条件

SQL for Smarties 类型问题:从表中 Select 记录,并对某些值进行分组

如何将特定值从 JSON 列中的一个字段移动到 PostgreSQL 中的另一个字段?

Postgresql 需要一个查询,为我提供所有没有具有特定状态值的子元素的父母

获取 SQL Server 中每一行的两个-之间的文本

T-SQL - 返回每条记录的最近雇佣日期

SQL - 使用子查询返回多行的 LIKE 命令

查找距上一条记录大于或等于 30 天的记录

PostgreSQL 中的递归树查询