计算SQL Server数据库中的表数

时间:2017-08-02 15:12:08

标签: sql-server tsql sql-server-2012

我有一个名为MyDatabase的SQL Server 2012数据库。如何找到数据库中有多少个表?

我假设查询的格式类似于以下内容,但我不知道用database_tables替换USE MyDatabase SELECT COUNT(*) FROM [database_tables] 的内容:

INFORMATION_SCHEMA.TABLES

3 个答案:

答案 0 :(得分:40)

您可以使用INFORMATION_SCHEMA.TABLES检索有关数据库表的信息。

Microsoft Tables Documentation中所述:

  

USE MyDatabase SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' 为当前用户拥有权限的当前数据库中的每个表返回一行。

因此,以下查询将返回指定数据库中的表数:

sys.tables

从SQL Server 2008开始,您还可以使用sys.tables来计算表的数量。

来自Microsoft sys.tables Documentation

  

SELECT COUNT(*) FROM sys.tables 为SQL Server中的每个用户表返回一行。

以下查询还将返回数据库中的表数:

WebClient webClient = new WebClient();
webClient.DownloadData("www.google.com");

答案 1 :(得分:4)

试试这个:

<div class="container">
  <div class="row reorder-xs">

    <div class="col-md-7 col-sm-12 col-xs-12 ">

      // Text Data

    </div>

    <div class="col-md-5 col-sm-12 col-xs-12">

      <img class="img-fluid" src="https://dummyimage.com/300"></img>

    </div>

  </div>
</div>

答案 2 :(得分:1)

USE MyDatabase
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';

获取表计数

SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema = 'dbName';

这也有效

USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();