SQL 统计一个数据库中所有表记录的数量

代码如下:

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 未用空间

(0)

相关推荐

  • Sql Server 分组统计并合计总数及WITH ROLLUP应用

    WITH ROLLUP 在生成包含小计和合计的报表时,ROLLUP 运算符很有用.ROLLUP 运算符生成的结果集类似于 CUBE 运算符所生成的结果集. 复制代码 代码如下: SELECT [Source], COUNT(*) AS OrderTotal FROM [ExternalOrder] Where OrderStatus=1 AND (CheckPayment=1 ) and TicketDate >= '2012-11-1' AND TicketDate < '2012-12-1

  • SQL 判断给定日期值(或时间段)所在星期的星期一和星期天的日期

    一.给定一个日期值,求出此日期所在星期的星期一和星期天的日期数据 例如给定一个日期 2010-09-01,求出它所在星期的星期一是2010-08-30,星期天是2010-09-05 Function创建如下: 复制代码 代码如下: USE [MSSQL] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[My_OneDay_GetWeekFirstAndEndDay](@tmpDate DATET

  • SQL Server自动更新统计信息的基本算法

    自动更新统计信息的基本算法是: · 如果表格是在 tempdb 数据库表的基数是小于 6,自动更新到表的每个六个修改. · 如果表的基数是大于 6,但小于或等于 500,更新状态每 500 的修改. · 如果基数大于 500,表为更新统计信息时(500 + 20%的表)发生了更改. · 表变量为基数的更改不会触发自动更新统计信息. 注意:此严格意义上讲,SQL Server 计算基数为表中的行数. 注意:除了基数,该谓语的选择性也会影响 AutoStats 生成.这意味着该统计信息可能无法更新的

  • MySql 按时间段查询数据方法(实例说明)

    时间格式为2008-06-16 查询出当天数据: SELECT * FROM `table` WHERE date(时间字段) = curdate(); 查询出当月字段: SELECT * FROM `table` WHERE month( 时间字段) = month( now( ) ) ; 时间格式为1219876-- UNIX时间,只要应用"FROM_UNIXTIME( )"函数 例如查询当月: SELECT * FROM `table` WHERE month( from_uni

  • SQL 实现某时间段的统计业务

    有一张错误上报表,下面只将与本文相关的字段罗列如下:上报人(ReportPerson).上报错误ID(ErrorID).上报时间(ReportTime).状态(State),其中值为0(未解决).1(已处理).2(已解决). 现在要做的是统计在某个时间段[beginTime,endTime](其中beginTime,endTime由前台进行传入)内,每个上报人上报错误点的总数以及已解决错误的总数. 复制代码 代码如下: select a.ReportPerson,a.sumOfError,b.s

  • SQL 统计一个数据库中所有表记录的数量

    复制代码 代码如下: 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 --列出所有表的情况 SEL

  • sql语句查询数据库中的表名/列名/主键/自动增长值实例

    sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型

  • Sql查询MySql数据库中的表名和描述表中字段(列)信息

    下面为大家介绍利用SQL查询语句获取Mysql数据库中表的表名,表描述.字段ID.字段名.数据类型.长度.精度.是否可以为null.默认值.是否自增.是否是主键.列描述 一.查询表信息(表名/表描述) SELECT table_name name,TABLE_COMMENT value FROM INFORMATION_SCHEMA.TABLES WHERE table_type='base table' and table_schema = '数据库名' order by table_name

  • 通过php快速统计某个数据库中每张表的数据量

    所以自己简单写了几行代码用来实现以上需求 执行结果: 复制代码 代码如下: <?php $conn=mysql_connect('localhost','root',''); mysql_select_db('数据库',$conn); $sql="SELECT information_schema.TABLES.TABLE_NAME FROM information_schema. TABLES WHERE table_schema = '数据库'"; $res=mysql_qu

  • 清空数据库中所有表记录 记录ID恢复从0开始

    1.搜索出所有表名,构造为一条SQL语句 复制代码 代码如下: declare @trun_name varchar(8000) set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from sysobjects where xtype='U' and status > 0 exec (@trun_name) 该方法适合表不是非常多的情况,否则表数量过多,超过字符串的长度,不能进行完全

  • PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法

    本文实例讲述了PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法.分享给大家供大家参考,具体如下: 这是一段简单的代码,可实现统计该数据库中每个表的记录数,并按递减顺序排列的功能 $host = '127.0.0.1'; $port = 3306; $dbname = 'test'; $username = 'root'; $password = ''; function ee($p) { if(PHP_SAPI == 'cli') { echo "\n"; }else{

  • MySQL如何统计一个数据库所有表的数据量

    目录 场景: 官网的解释: 补充:查询表大小 总结 场景: mysql统计一个数据库里所有表的数据量,最近在做统计想查找一个数据库里基本所有的表数据量,数据量少的通过select count再加起来也是可以的,不过表的数据有点多,不可能一个一个地查 记得在Navicat里,选择一个数据量,点击表,如图: 是可以看到所有表具体的数据行的 然后可以通过sql实现?在mysql里是可以查询information_schema.tables这张表的 SELECT table_rows,table_nam

  • Java实现获得MySQL数据库中所有表的记录总数可行方法

    在MySQL中,可以通过SELECT COUNT(*) FROM table_name查询某个表中有多少条记录.如果想知道某个数据库中所有别的记录总数应该怎么做呢?本文给出两种可行的Java程序,解决该问题. 1. 首先确定数据库中有多少个表,然后对每个表执行SELECT COUNT(*) FROM table_name 复制代码 代码如下: import java.sql.Connection; import java.sql.DriverManager; import java.sql.Pr

  • SqlServer将数据库中的表复制到另一个数据库

    目录 SqlServer将数据库中的表复制到另一个数据库 一.如果两个数据库在同一台服务器上 二.如果两个数据库在不同的服务器上 复制表结构与数据的图文方法 复制表结构 表的数据内容复制图文方法 SqlServer将数据库中的表复制到另一个数据库 一.如果两个数据库在同一台服务器上 1.复制表结构和数据(A->B):SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA 2.仅仅复制表结构(A->B):SELECT * INTO

  • MySQL用truncate命令快速清空一个数据库中的所有表

    1. 先执行select语句生成所有truncate语句 语句格式: select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABLES where table_schema in ('数据库1','数据库2'); 以名为dbname的数据库为例,执行select语句: mysql> select CONCAT('truncate TABLE ',table_schema

随机推荐