J'ai une base de données SQL Server 2012 appelée MyDatabase
. Comment puis-je trouver combien de tables sont dans la base de données?
Je suppose que le format de la requête devrait ressembler à celui-ci, mais je ne sais pas quoi remplacer database_tables
par:
USE MyDatabase
SELECT COUNT(*)
FROM [database_tables]
Vous pouvez utiliser INFORMATION_SCHEMA.TABLES
pour récupérer des informations sur vos tables de base de données.
Comme mentionné dans le Microsoft Tables Documentation :
INFORMATION_SCHEMA.TABLES
renvoie une ligne pour chaque table de la base de données actuelle pour laquelle l'utilisateur actuel dispose d'autorisations.
Par conséquent, la requête suivante renverra le nombre de tables de la base de données spécifiée:
USE MyDatabase
SELECT COUNT(*)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
A partir de SQL Server 2008, vous pouvez également utiliser sys.tables
pour compter le nombre de tables.
De la documentation Microsoft sys.tables :
sys.tables
renvoie une ligne pour chaque table utilisateur dans SQL Server.
La requête suivante renverra également le nombre de table dans votre base de données:
SELECT COUNT(*)
FROM sys.tables
Essaye ça:
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';
pour obtenir des comptes de table
SELECT COUNT(*)
FROM information_schema.tables
WHERE table_schema = 'dbName';
cela fonctionne aussi
USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();