计算 SQL 服务器数据库中的表数
Count the Number of Tables in a SQL Server Database
我有一个名为 MyDatabase
的 SQL Server 2012 数据库。我怎样才能找到数据库中有多少个表?
我假设查询的格式如下所示,但我不知道用什么替换 database_tables
:
USE MyDatabase
SELECT COUNT(*)
FROM [database_tables]
您可以使用 INFORMATION_SCHEMA.TABLES
检索有关数据库的信息 tables。
如Microsoft Tables Documentation所述:
INFORMATION_SCHEMA.TABLES
returns one row for each table in the current database for which the current user has permissions.
因此,以下查询将 return 指定数据库中 table 的数量:
USE MyDatabase
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
从 SQL Server 2008 开始,您还可以使用 sys.tables
来计算 table 的数量。
来自Microsoft sys.tables Documentation:
sys.tables
returns a row for each user table in SQL Server.
下面的查询也会return你的数据库中table的数量:
SELECT COUNT(*)
FROM sys.tables
试试这个:
SELECT Count(*)
FROM <DATABASE_NAME>.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
USE MyDatabase
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';
获得 table 计数
SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema = 'dbName';
这也有效
USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();
我有一个名为 MyDatabase
的 SQL Server 2012 数据库。我怎样才能找到数据库中有多少个表?
我假设查询的格式如下所示,但我不知道用什么替换 database_tables
:
USE MyDatabase
SELECT COUNT(*)
FROM [database_tables]
您可以使用 INFORMATION_SCHEMA.TABLES
检索有关数据库的信息 tables。
如Microsoft Tables Documentation所述:
INFORMATION_SCHEMA.TABLES
returns one row for each table in the current database for which the current user has permissions.
因此,以下查询将 return 指定数据库中 table 的数量:
USE MyDatabase
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
从 SQL Server 2008 开始,您还可以使用 sys.tables
来计算 table 的数量。
来自Microsoft sys.tables Documentation:
sys.tables
returns a row for each user table in SQL Server.
下面的查询也会return你的数据库中table的数量:
SELECT COUNT(*)
FROM sys.tables
试试这个:
SELECT Count(*)
FROM <DATABASE_NAME>.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
USE MyDatabase
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';
获得 table 计数
SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema = 'dbName';
这也有效
USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();