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

时间:2017-11-08 13:23:33

标签: sql sql-server sql-server-2012

我使用对象资源管理器中的过滤器表执行此操作,但我想用查询执行此操作 当我执行查询时,返回所有带有dbo模式及其字段的表。

3 个答案:

答案 0 :(得分:2)

sys.tables返回,使用schema_id过滤

SELECT '['+SCHEMA_NAME(schema_id)+'].['+name+']'
AS TableName
FROM sys.tables where SCHEMA_NAME(schema_id) = 'dbo'

在架构中包含视图

SELECT '['+SCHEMA_NAME(schema_id)+'].['+name+']'
AS TableName
FROM sys.tables where SCHEMA_NAME(schema_id) = 'dbo'

UNION 

SELECT '['+SCHEMA_NAME(schema_id)+'].['+name+']'
AS TableName
FROM sys.views where SCHEMA_NAME(schema_id) = 'dbo'

答案 1 :(得分:1)

您是否想要获取此信息?

SELECT * FROM sys.tables WHERE schema_id = 1
--SchemaId 1 is for 'dbo' schema

如果你也想要列,那就试试吧。

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'dbo'

答案 2 :(得分:0)

获取所有表,架构,列和数据类型在数据库中使用以下查询。

select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,DATA_TYPE from INFORMATION_SCHEMA.COLUMNS
相关问题