如何使用 TSQL 获取数据库中所有表的列表?

2021-12-02 00:00:00 tsql sql-server database-table

获取 SQL Server 上特定数据库中所有表名称的最佳方法是什么?

What is the best way to get the names of all of the tables in a specific database on SQL Server?

推荐答案

SQL Server 2000、2005、2008、2012、2014、2016、2017 或 2019:

SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2017 or 2019:

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

仅显示特定数据库中的表

To show only tables from a particular database

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

或者,

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

PS:对于 SQL Server 2000:

PS: For SQL Server 2000:

SELECT * FROM sysobjects WHERE xtype='U' 

相关文章