1.获取所有数据库名

--SELECT Name FROM Master..SysDatabases ORDER BY Name --

2.获取所有表名: 
--SELECT Name NAMEtemp,* FROM TEST..SysObjects Where XType='U' ORDER BY Name --表名  
----XType='U':表示所有用户表; 
----XType='S':表示所有系统表;

3.获取所有字段名:

SELECT Name FROM SysColumns WHERE id=Object_Id('TableName')

4.查询所有表行数 
----SELECT * FROM TEST..sysindexes --表明细

select a.name, b.rows --查询所有表行数/TEST为库名称 
from TEST..sysobjects a 
inner join TEST..sysindexes b on a.id = b.id 
where a.type = 'u' 
and b.indid in (0, 1) 
order by a.name

【  declare @N int   set @N=10000

   --通过查询索引表的聚集索引查询  (indid=1,这种是体现数据是以聚集索引方式存储体现的查询) 
   select object_name(id),rowcnt from sysindexes where rowcnt>=@N and indid=1 and objectproperty(id,'isusertable')=1 
   --通过查询索引表的无聚集索引查询   (indid=0,这种是体现数据是以数据堆方式存储体现的查询,无聚集索引的表) 
   select object_name(id),rowcnt from sysindexes where rowcnt>=@N and indid=0 and objectproperty(id,'isusertable')=1 
  

  有人问indid是什么意思? 
  select object_name(id),rowcnt from sysindexes where rowcnt>=@N and indid<=1 and objectproperty(id,'isusertable')=1 即可),非聚集索引则不一定 
  必须。 
    indid=1 查询的就是根据聚集索引键值来查询sysindexs,也就是说不存在聚集索引的表,通过上面的查询是查不出来的。 
   而indid>1(如indid=2、indid=3等) 则代表查询的是根据非聚集索引序号,但没有聚集索引的表还是大量存在的(这不比 
   当然此查询可能有误差,在索引碎片的产生和清理过程确实会存在,只要索引定期维护、重建,那么误差应该不大,甚至不存在误差了

--objectproperty:

http://technet.microsoft.com/zh-cn/library/ms176105.aspx

sysindexes详细内容

http://technet.microsoft.com/zh-cn/library/ms190283.aspx

数据库中的每个索引和表在表中各占一行。该表存储在每个数据库中。

列名 数据类型 描述
id int 表 ID(如果  indid   = 0 或 255)。否则为索引所属表的 ID。
status int 内部系统状态信息。
first binary(6) 指向第一页或根页的指针。
indid smallint

索引 ID:

1 = 聚集索引 
>1 = 非聚集 
255 = 具有  text   或  image  数据的表条目

root binary(6) 如果  indid  >= 1 和 < 255, root  是指向根页的指针。如果 indid  = 0 或  indid  = 255, root  是指向最后一页的指针。
minlen smallint 最小行大小。
keycnt smallint 键的数目。
groupid smallint 在其上创建对象的文件组 ID。
dpages int 如果  indid  = 0 或  indid  = 1, dpages  是已用数据页的计数。如果  indid = 255,其设置为 0。否则是已用索引页的计数。
reserved int 如果  indid  = 0 或  indid  = 1, reserved  是分配给所有索引和表数据的页计数。如果  indid  = 255, reserved  是分配给 text  或  image  数据的页计数。否则是分配给索引的页计数。
used int 如果  indid  = 0 或  indid  = 1, used  是用于所有索引和表数据的总页数。如果  indid  = 255, used  是用于  text  或 image  数据的页计数。否则是用于索引的页计数。
rowcnt bigint 基于  indid  = 0 和  indid  = 1 的数据级行计数。如果  indid = 255, rowcnt 设置为 0。
rowmodctr int 对自上次更新表的统计后插入、删除或更新行的总数进行计数。
xmaxlen smallint 最大行大小。
maxirow smallint 最大非叶索引行大小。
OrigFillFactor tinyint 创建索引时使用的起始填充因子值。不保留该值;然而,如果需要重新创建索引但记不住当初使用的填充因子,则该值可能很有帮助。
reserved1 tinyint 保留。
reserved2 int 保留。
FirstIAM binary(6) 保留。
impid smallint 保留。索引实现标志。
lockflags smallint 用于约束经过考虑的索引锁粒度。例如,对于本质上是只读的查找表,可以将其设置为仅进行表级锁定以使锁定成本减到最小。
pgmodctr int 保留。
keys varbinary(816) 组成索引键的列 ID 列表。
name sysname 表名(如果  indid   = 0 或 255)。否则为索引的名称。
statblob image 统计 BLOB。
maxlen int 保留。
rows int 基于  indid  = 0 和  indid  = 1的数据级行数,该值对于  indid >1 重复。如果 indid  = 255, rows  设置为 0。提供该列是为了向后兼容。

MS SQL查询所有表行数,获取所有数据库名,表名,字段名的更多相关文章

  1. SQL 从指定表筛选指定行信息 获取表行数

    1.获取指定表的行数 --获取表中数据行数 --select max([列名]) from 表名 2.筛选指定表的指定行数据(数据表分页获取) http://www.cnblogs.com/morni ...

  2. SQL SERVER统计服务器所有的数据库(数据库文件)、表(表行数)、字段(各字段)等详细信息

    原文:SQL SERVER统计服务器所有的数据库(数据库文件).表(表行数).字段(各字段)等详细信息 USE STAT GO SET NOCOUNT ON IF EXISTS(SELECT 1 FR ...

  3. SQL Server查看所有表大小、表行数和占用空间信息

    一.查看表名和对应的数据行数select  a.name as '表名',b.rows as '表数据行数'from sysobjects a inner join sysindexes bon a. ...

  4. 查询执行成本高(查询访问表数据行数多)而导致实例 CPU 使用率高是 MySQL 非常常见的问题

    MySQL CPU 使用率高的原因和解决方法_产品性能_常见问题_云数据库 RDS 版-阿里云 https://help.aliyun.com/knowledge_detail/51587.html ...

  5. Oracle 查询结果集行数分析

    本人曾去某金融软件公司面试,交流中面试官问的一个问题是:"如果有 A.B 两张表,A 表中有 2 条数据,B 表中有 200 条数据,请问 SELECT * FROM A,B 能查出多少条数 ...

  6. 单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。

    https://github.com/alibaba/p3c/blob/master/阿里巴巴Java开发手册(详尽版).pdf 单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表 ...

  7. [SQL]某数据库中查出包含 字段名 的所有表名

    --利用SQL语句来查询字段所在的表 --从某数据库中查出包含 字段名 字段的所有表名 SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE ...

  8. php mysql_affected_rows获取sql执行影响的行数

    php mysql_affected_rows函数用于获取执行某一SQL语句(如INSERT,UPDATE 或 DELETE )所影响的行数,本文章向大家介绍php mysql_affected_ro ...

  9. 一种快速统计SQL Server每个表行数的方法

    转载自:http://www.cnblogs.com/kenyang/archive/2013/04/09/3011447.html 我们都知道用聚合函数count()可以统计表的行数.如果需要统计数 ...

随机推荐

  1. vue tslint报错: Calls to 'console.log' are not allowed

    使用Vue CLI 3 的 vue create 创建vue+ts 项目,使用默认配置, 控制台报警告Calls to 'console.log' are not allowed,解决: 在tslin ...

  2. SCPI 语言简介

    电子负载中需要用到,所以记录下.来源是德科技 SCPI(可编程仪器的标准命令)是一种基于 ASCII 的仪器编程语言,供测试和测量仪器使用. SCPI 命令采用分层结构,也称为树系统. 相关命令归组于 ...

  3. python - scrapy 爬虫框架 ( 起始url的实现,深度和优先级,下载中间件 )

    1.  start_urls  --  起始URL 的内部实现(将迭代器转换为生成器) class QSpider(scrapy.Spider): name = 'q' allowed_domains ...

  4. [51Nod 1238] 最小公倍数之和 (恶心杜教筛)

    题目描述 求∑i=1N∑j=1Nlcm(i,j)\sum_{i=1}^N\sum_{j=1}^Nlcm(i,j)i=1∑N​j=1∑N​lcm(i,j) 2<=N<=10102<=N ...

  5. [Angular 8] Custom Route Preloading with ngx-quicklink and Angular

    In a previous lesson we learned about implementing a custom preloading strategy. That gives you a lo ...

  6. Java中实例方法和类方法的区别举例

    QAQQAQAQQQAQQAQQAQAQ import java.util.ArrayList; import java.util.Iterator; class myclass{ ; ; publi ...

  7. Vue.js-组件化前端开发新思路

    Vue.js-组件化前端开发新思路 12017.04.14 18:31:25字数 6228阅读 5632 本文章是我最近在公司的一场内部分享的内容.我有个习惯就是每次分享都会先将要分享的内容写成文章. ...

  8. MongoDB 副本集的常用操作及原理

    本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...

  9. 小象和老鼠 DP

    小象和老鼠 DP \(N*M\)的网格图,格子\((i,j)\)有\(A_{i,j}\)个老鼠,问小象从左上角\((1,1)\)走到右下角\((N,M)\)看到的最少老鼠.小象可以看见老鼠,当且仅当老 ...

  10. python循环导入的问题

    1.问题 循环导入,代码如下: from c import c def b(): print('b') b.py from b import b def a(): # from b import b ...