sql统计表中所有数据记录条数

最近公司的数据库发现有表的数据被弄掉了,有些数据表记录为0,于是想找出此数据库中到底有哪些数据表的记录都为0以缩小分析范围,可使用如下的SQL Statement: 

 代码如下 复制代码

CREATE TABLE #tmptb(tbname sysname,tbrows int 
,tbREserved varchar(10),tbData varchar(10) 
,tbIndexSize varchar(10),tbUnUsed varchar(10)) 

INSERT INTO #tmptb exec sp_MSForEachTable 'EXEC sp_spaceused ''?''' 

SELECT * from #tmptb --列出所有表的情况 

SELECT tbrows ,tbname FROM #tmptb WHERE tbrows=0 --列出记录数据为0的表
ORDER BY tbname

DROP TABLE #tmptb

其中
tbname 表名
tbrows 记录数
tbREserved 保留空间
tbData 使用空间
tbIndexSize 索引使用空间
tbUnUsed 未用空间

 

时间: 2024-09-27 03:01:48

sql统计表中所有数据记录条数的相关文章

ORACLE和SYBASE数据库中实现数据查询条数限制的SQL语句实现

一.概述 对于某些需要通过数据库与大量数据打交道的软件来说,处理性能相当的重要.为了保证软件能够将所有数据处理完而不至于崩溃,分批处理的思想应运而生.分批处理的具体做法是编写SQL语句,每次返回规定条数的数据给软件处理,待这一批数据处理完之后,再接着处理下一批. 本文通过对具体的数据库表(tb_employeeinfo)的操作过程,展示了ORACLE和SYBASE数据库中分批处理SQL语句的编写方法. 二.ORACLE数据库中的处理 首先,建立tb_employeeinfo表,其定义如下: be

用于查询当前数据库中所有表格的记录条数的脚本

脚本|数据|数据库 --==========================================================================-- 说明: 本脚本用于查询当前数据库中所有表格的记录条数--   并将结果存入TableInfo表中,不会删除以备用户再做处理与分析--   不过,最后请用户删除此表.--========================================================================== if

一列一列向access表中插入数据,列数是一个变量,用循环,用什么sql语句

问题描述 一列一列向access表中插入数据,列数是一个变量,用循环,用什么sql语句 用sql语句向ACCESS的一张表中添加数据,因为具体的列数还不清楚,所以想用循环一列一列向ACCESS表中插入数据,采用insert,为什么插入30行数据(即一列),当插第二列数据时就从第31行,第二列开始了(应该是第一行第二列开始).如果不用insert,用update那语句怎么写,一直出错. 解决方案 你的数据库表结构有问题.你应该把你的列作为行来插入.数据库中的表,列就应该是确定的. 解决方案二: 你

SQL Server中统计每个表行数的快速方法

这篇文章主要介绍了SQL Server中统计每个表行数的快速方法,本文不使用传统的count()函数,因为它比较慢和占用资源,本文讲解的是另一种方法,需要的朋友可以参考下 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一个动态SQL语句并执行,才能得到结果.以前在互联网上看到有一种很好的解决方法,忘记出处了,写下来分享一下. 该方法利用了sysindexes 系统表提供的rows字段.rows

mysql 按字段统计记录条数

问题描述 我需要做的是: 举个例子:表A中有一列为bank,其中存放的是1.2.3.4...等等... 然后要统计出该表bank为1时的记录条数,bank为2时的记录条数...以此类推.... 但是bank列的存放的数据可能是变化的...比如某一天里面又出现了10.... 谢谢! 解决方案 select count(bank) from table group by bank解决方案二:select count(*) from 表 where bank=1 select count(*) fro

如何在SQL Server中恢复数据

server|恢复|数据 在SQL server 中恢复数据的几种办法: 1.自然就是 backup 的 恢复方法 backup 这种方法是最安全,最可靠的方法操作起来也很简单,只要在 sql server 的 enterprise manager中选择 restore 就可以了. 用T-SQL 也可以完成: RESTORE DATABASE test FROM DISK = 'c:\mssql7\backup\test.bak' 当然这是用的 文件恢复,如果是 设备恢复 自然也是可以的. 2.

解决SQL Server 2008导出的SQL文件中没有数据的问题

环境:SQLServer 2008 R2 问题:导出的SQL文件中没有数据 解决: 1. 展开数据库---- ---->选中某个数据库-------->任务-------->生成脚本: 2. 单击下一步-------->进 入如下界面,可以选择需要为整个数据库导出还是只导出某个数据库: 3. 下一步-------->选择选项(注意选择SQL文件的生成路径)

怎么将sql sever中的数据导入到mysql中?

问题描述 怎么将sql sever中的数据导入到mysql中? 求教:怎么将sql sever中的数据导入到mysql中?试了很多次都不可以.有没有大神指导一下! 解决方案 将import.sql中的数据导入到mysql中导入Excel电子表格数据到SQL Sever数据库导入Excel电子表格数据到SQL Sever数据库的方法 解决方案二: 呃.语法关键字不同的. 如果只是表的话. 建议把 Sql语句 整体 替换.sqlserver 中的 identify 关键字 替换为 : AUTO_IN

SQL Server中删除重复记录的SQL语句

方法:  代码如下 复制代码            select distinct * into #tmp from tablename  drop table tablename  select * into tablename from #tmp drop table # tmp 常有时候遇到需要删除SQL Server中的重复记录,这里有一些常用的删除重复记录的SQL, 最常用的 T-SQL 语句:  代码如下 复制代码 DELETE FROM [dbo].[myTable] WHERE