我有一个名为MyDatabase
的SQL Server 2012数据库。如何找到数据库中有多少个表?
我假设查询的格式类似于以下内容,但我不知道用database_tables
替换USE MyDatabase
SELECT COUNT(*)
FROM [database_tables]
的内容:
INFORMATION_SCHEMA.TABLES
答案 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();