精华内容
下载资源
问答
  • Mysql 统计数据库中所有表的数据量

    千次阅读 2019-11-01 16:21:17
    databaseName:数据库名 classTableName :一类的名称 2.SQL语句: SELECT t.TABLE_NAME, t.TABLE_ROWS, t.TABLE_COMMENT FROM information_schema.`TABLES` t WHERE t.TABLE_SCHEMA =...

    1.参数:

         databaseName:数据库名

         classTableName :一类表的名称

    2.SQL语句:

    SELECT
        t.TABLE_NAME,
        t.TABLE_ROWS,
        t.TABLE_COMMENT 
    FROM
        information_schema.`TABLES` t 
    WHERE
        t.TABLE_SCHEMA = '
    databaseName
        AND t.TABLE_NAME LIKE '
    classTableName
    ORDER BY
        t.TABLE_ROWS DESC

    结果为三个字段  

        TABLE_NAME:表名称

        TABLE_ROWS :表数据量

        ABLE_COMMENT :表的注释

    展开全文
  • --SQL Server 统计数据库中所有表的记录数和占用空间 create table #tmp (name varchar(50),rows int,reserved varchar(50),data varchar(50),index_size varchar(50),unused varchar(50)); insert into #tmp (name,...
    --SQL Server 统计数据库中所有表的记录数和占用空间
    create table #tmp (name varchar(50),rows int,reserved varchar(50),data varchar(50),index_size varchar(50),unused varchar(50));
    insert into #tmp (name,rows,reserved,data,index_size,unused) exec sp_msforeachTable "sp_spaceused '?'"
    select * from #tmp
    drop table #tmp


     

    展开全文
  • 查询所有数据库-一个数据库中所有表和表的所有字段,查询所有数据库-一个数据库中所有表和表的所有字段
  • 查数据库单个表大小 查数据库所有表大小
  • 统计Oracle数据库用户所有表的大小

    万次阅读 2018-03-13 10:47:07
    统计Oracle数据库用户所有表的大小 SELECT OWNER as "用户名", sum(BYTES) / 1024 / 1024 / 1024 as "所有表的大小(GB)" FROM DBA_SEGMENTS WHERE SEGMENT_NAME in (select t2.OBJECT_NAME ...

    统计Oracle数据库用户所有表的大小

     SELECT OWNER as "用户名", sum(BYTES) / 1024 / 1024 / 1024 as "所有表的大小(GB)"
      FROM DBA_SEGMENTS
     WHERE SEGMENT_NAME in (select t2.OBJECT_NAME
                              from dba_objects t2
                             where t2.OBJECT_TYPE = 'TABLE')
     group by OWNER order by 2 desc;

    经过测试发现,从DBA_EXTENTS中统计出来的大小和DBA_SEGMENTS一样:

    SELECT OWNER as "用户名", sum(BYTES) / 1024 / 1024 / 1024 as "所有表的大小(GB)"
      FROM DBA_EXTENTS
     WHERE SEGMENT_NAME in (select t2.OBJECT_NAME
                              from dba_objects t2
                             where t2.OBJECT_TYPE = 'TABLE')
     group by OWNER order by 2 desc;


    在metalink上搜索到如下资料: Doc ID: Note:463101.1
    HOW TO DISCOVER AND FIX THE MISTMATCH BETWEEN DBA_SEGMENTS AND DBA_EXTENTS DICTIONARY VIEWS
    里面讲到当DML/DDL操作(parallel index creation, frequent deletes/inserts)会导致这种不一致,
    导致dba_segments中的不正确, 所以dba_extents中记录的分配给段的空间值才是可信的值。

    如有不对之处,请各位指出!

    展开全文
  • 数据库中统计所有表的行数

    千次阅读 2019-04-17 10:48:07
    postgresql: select relname as TABLE_NAME, reltuples as rowCounts from pg_class where relkind = 'r' and relnamespace = (select oid from pg_namespace where nspname='public') order by rowCounts desc;...

    postgresql中:

    select relname as TABLE_NAME, reltuples as rowCounts from pg_class 
    where relkind = 'r' and relnamespace = (select oid from pg_namespace where nspname='public') order by rowCounts desc; 

    但是在使用某为的并没有结果,因为只是单次使用就没深入研究了,使用拼接来解决:

    1. 获取sql:

    注意这里得到的sql语句如:select 'bg_ssjlbg', count(*) from bg_ssjlbg union all  表必须使用单引号来包围,在如下sql中使用2个单引号代表一个,myslq可以使用双引号,如:postgresql处理:'''111'''  -> '111'
    select concat(
    'select ''',
    relname,
    ''', count(*) from ',
    relname,
    ' union all '
    )
    from pg_class 
    where relkind = 'r' and relnamespace = (select oid from pg_namespace where nspname='public'); 

    2. 复制结果为sql执行,再执行。

    mysql:

    在mysql中使用:

    SELECT TABLE_NAME AS `表名`,TABLE_ROWS AS `行数`,date_format(CREATE_TIME,'%Y-%m-%d') AS `上传时间` FROM information_schema.TABLES WHERE TABLE_SCHEMA='查询的数据库' AND TABLE_rows>0 ORDER BY TABLE_ROWS DESC;

    但是这只是一个粗略的统计,实际在使用中,一个表实际有3575行,但是information_schema.TABLES统计出来只有2606。

    所以这里使用sql拼接比较方便。

    一、执行下面sql

    select concat(
    'select "',
    TABLE_name,
    '", count(*) from ',
    TABLE_SCHEMA,
    '.',
    TABLE_name,
    ' union all'
    ) from information_schema.tables
    where TABLE_SCHEMA='test';

    二、执行上面sql后会批量生成sql导出结果,复制到一个文件中,然后单个表行数:

    select "MJZBL_JZLGBL", count(*) from emr.MJZBL_JZLGBL union all
    select "MJZBL_MJZBL", count(*) from emr.MJZBL_MJZBL union all
    select "MZZY_FYJL", count(*) from emr.MZZY_FYJL union all
    select "MZ_CFMXB", count(*) from emr.MZ_CFMXB 

    三、统计所有行数: 

    SELECT SUM(`COUNT(*)`) FROM (

    select "MJZBL_JZLGBL", count(*) from emr.MJZBL_JZLGBL union all
    select "MJZBL_MJZBL", count(*) from emr.MJZBL_MJZBL union all
    select "MZZY_FYJL", count(*) from emr.MZZY_FYJL union all
    select "MZ_CFMXB", count(*) from emr.MZ_CFMXB ) a;

    总结:

    SELECT sum(TABLE_ROWS) 
    FROM information_schema.TABLES WHERE TABLE_SCHEMA='emr' ;  

    结果为:1004801  

    使用上面方法统计库总行数:1000311

     

    参考:

    https://www.cnblogs.com/yanpan/p/10043466.html

    展开全文
  • --统计一个数据库所有表的记录条数总和select SUM(rowcounts)from (SELECT OBJECT_NAME(id) AS [TBName],MAX(rowcnt)[rowcounts] FROM sys.sysindexes GROUP BY OBJECT_NAME(id))ss--统计一个数据库中有多少张表...
  • 查询数据库所有表统计数量

    千次阅读 2016-08-18 17:49:24
    查询数据库所有表统计数量
  • MySql统计数据库中每一张的数据量

    千次阅读 2020-12-16 09:28:56
    -- 统计MySQL指定数据库中有多少张表 SELECT count(*) TABLES, table_schema FROM ...-- 统计MySQL指定数据库中表数据量 use information_schema; select table_name,table_rows from tables where TABLE_SCHEMA = .
  • mysql 查看数据库中所有表的记录数

    千次阅读 2017-07-25 11:54:42
    想快速的知道数据库所有表的记录数信息怎么办?如果使用mysql的版本在5.0及以上,可以通过查询information_schema库中的tables表来获取,该表中使用table_rows记录表的行数信息。例如查看库sinaif_market中所有
  • mysql 统计数据库中表的数量

    千次阅读 2018-09-03 13:49:02
    SELECT count(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = '__你的数据库名称__' GROUP BY table_schema; 
  • SELECT SUM(rows) as '总记录条数' FROM sys.partitions
  • 1.数据库查询总条数 use information_schema; select sum(table_rows) from tables where ...2.mysql 查看数据库中所有表的记录数 use information_schema; select table_name,table_rows from tables where T...
  • 近期遇到一个需求,Mysql数据库中需要统计所有表的记录数据:查了下资料可以调取information_schema数据表中数据获取所有表记录数据,但是查询出来的数据,发现和手动统计的记录数据不一致,information_schema查询...
  • 1、统计数据库一共多少张表 SELECT COUNT(*) TABLES, table_schema FROM information_schema. TABLES WHERE table_schema = 'test' GROUP BY table_schema; 执行结果展示: 2、统计某一张的字段数量 ...
  • Oracle查询数据库中所有表的记录数

    千次阅读 2019-01-29 21:41:40
    使用如下语句进行查询: select t.table_name,t.num_rows from user_tables t 查询出来的结果数据可能是不正确的,或者根据就没数 执行如下脚本可查询出正确的数据 CREATE OR REPLACE FUNCTION count_rows ( ...
  • 1、统计数据库中总记录条数 select sum(table_rows) from tables where TABLE_SCHEMA = 数据库名称; 2、统计mysql 数据库中所有表的记录数 select table_name,table_rows from information_schema.tables ...
  • 要查询一个表的数据数量,相信大家很快就想到了select count(1) from table1,但如果我们要查询数据库中所有表的的数据数量要怎么查呢?方法比较多,下面介绍两种本人常用的方法: 一,利用sp_spaceused存储...
  • 统计每个的数据量到数据记录 */ --创建一张记录统计信息 create table test(tab_name varchar(30),row_num int) --统计每个的数据量到TEST进行记录,并查询出TEST的结果 declare count_rows int; v_...
  • 查询当前数据库中所有用户 select * from INFORMATION_SCHEMA.TABLES sp_helptext 'INFORMATION_SCHEMA.TABLES' 查询当前数据库中所有列 select * from INFORMATION_SCHEMA.COLUMNS
  • 有时候我们需要知道数据库中一共有多少个表,没给表中的字段都有什么,是什么类型,长度时多少等等 1.语句: SELECT * FROM information_schema. COLUMNS WHERE table_schema = '数据库名' 例句:SELECT * FROM ...
  • 数据库所有表中数据行数统计

    千次阅读 2009-05-08 13:48:00
    if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[TableSpace]) and OBJECTPROPERTY(id, NIsUserTable) = 1)drop table [dbo].[TableSpace]gocreate table TableSpace( TableName varc
  • 统计表数量SELECT count(*) FROM sys.objects WHERE type='U' 列出名称SELECT NAME FROM sys.objects WHERE type='U' 或者 列出名称SELECT Name FROM SysObjects Where XType='U' 转载于:...
  • 1.在pg_tables查询每个数据库的表名 2.创建一个临时 create table public.test08 ( tablename varchar2(50), hs number(10) ) 3.把在pg_tables查询到的结果复制到(或者导出excel模式)excel表格B列,然后按照...
  • Oracle语句: select t.table_name,t.num_rows from user_tables t Mysql语句: USE information_schema;...SELECT table_name,table_rows ...WHERE TABLE_SCHEMA = '数据库名' ORDER BY table_rows DESC; Orac...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 282,251
精华内容 112,900
关键字:

如何统计数据库中的所有表