Question Comment obtenir la liste de toutes les tables dans une base de données en utilisant TSQL?


Quel est le meilleur moyen d'obtenir les noms de toutes les tables dans une base de données spécifique sur SQL Server?


727
2017-10-06 17:53


origine


Réponses:


SQL Server 2005, 2008, 2012, 2014 ou 2016:

SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'

Pour afficher uniquement les tables d'une base de données particulière

SELECT TABLE_NAME FROM <DATABASE_NAME>.INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE'

Ou,

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='dbName' --(for MySql, use: TABLE_SCHEMA='dbName' )

PS: pour SQL Server 2000:

SELECT * FROM sysobjects WHERE xtype='U' 

1163
2017-10-06 18:00



SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'

Voici une liste d'autres types d'objets que vous pouvez également rechercher:

  • AF: fonction agrégée (CLR)
  • C: contrainte CHECK
  • D: contrainte par défaut ou DEFAULT
  • F: contrainte FOREIGN KEY
  • L: Log
  • FN: fonction scalaire
  • FS: fonction scalaire d'assemblage (CLR)
  • FT: Assembly (CLR) fonction de table
  • IF: fonction de table intégrée
  • IT: Table interne
  • P: procédure stockée
  • PC: Assembly (CLR) procédure stockée
  • PK: contrainte PRIMARY KEY (le type est K)
  • RF: procédure stockée du filtre de réplication
  • S: table système
  • SN: Synonyme
  • SQ: file d'attente de service
  • TA: déclencheur DML d'assemblage (CLR)
  • TF: Fonction de table
  • TR: déclencheur SQL DML
  • TT: Type de table
  • U: Table d'utilisateur
  • UQ: contrainte UNIQUE (le type est K)
  • V: Voir
  • X: procédure stockée étendue

178
2017-10-06 18:02



SELECT * FROM INFORMATION_SCHEMA.TABLES 

ou

SELECT * FROM Sys.Tables

65
2017-10-06 17:58



select * from sys.tables;

OU

SELECT * FROM INFORMATION_SCHEMA.TABLES 

OU

SELECT * FROM sysobjects WHERE xtype='U'

27
2018-05-03 13:09



USE YourDBName
GO 
SELECT *
FROM sys.Tables
GO

19
2017-10-03 11:23



exec sp_msforeachtable 'print ''?'''

9
2017-10-06 17:53



SELECT * FROM information_schema.tables
where TABLE_TYPE = 'BASE TABLE'

SQL Server 2012


9
2017-08-13 07:45



SELECT name 
FROM sysobjects 
WHERE xtype='U' 
ORDER BY name;

(SQL Server 2000 standard, toujours pris en charge dans SQL Server 2005.)


8
2017-10-06 17:55



select * from sysobjects where xtype='U'


6
2017-10-06 17:55