it-swarm.com.de

Zählen Sie die Anzahl der Tabellen in einer SQL Server-Datenbank

Ich habe eine SQL Server 2012-Datenbank namens MyDatabase. Wie kann ich herausfinden, wie viele Tabellen sich in der Datenbank befinden?

Ich gehe davon aus, dass das Format der Abfrage etwa wie folgt aussehen würde, aber ich weiß nicht, was ich ersetzen soll database_tables mit:

USE MyDatabase
SELECT COUNT(*)
FROM [database_tables]
30
Tot Zam

Sie können INFORMATION_SCHEMA.TABLES, um Informationen zu Ihren Datenbanktabellen abzurufen.

Wie in der Microsoft Tables Documentation erwähnt:

INFORMATION_SCHEMA.TABLES gibt eine Zeile für jede Tabelle in der aktuellen Datenbank zurück, für die der aktuelle Benutzer Berechtigungen hat.

Die folgende Abfrage gibt daher die Anzahl der Tabellen in der angegebenen Datenbank zurück:

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

Ab SQL Server 2008 können Sie auch sys.tables, um die Anzahl der Tabellen zu zählen.

Aus der Microsoft sys.tables-Dokumentation :

sys.tables gibt eine Zeile für jede Benutzertabelle in SQL Server zurück.

Die folgende Abfrage gibt auch die Nummer der Tabelle in Ihrer Datenbank zurück:

SELECT COUNT(*)
FROM sys.tables
59
Tot Zam

Versuche dies:

SELECT Count(*)
FROM <DATABASE_NAME>.INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
5
M84
USE MyDatabase
SELECT Count(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE';

tischzählungen zu bekommen

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

das funktioniert auch

USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();
2
Shafeer khan