Copy/Paste "design" Microsoft SQL 服务器表的信息到 Excel

Copy/Paste "design" information of Micrsoft SQL Server tables into Excel

我是 SQL 的新手,所以我很抱歉提出一个对你们中的一些人来说可能微不足道的问题。 有什么“巧妙”的方法可以将 SQL table 的 paste/information(“设计”选项)复制到 Excel 中吗? Example of table information

在示例中,我选择了一个特定的 table;我可以将三列中的普通 copy/paste 转换为 Excel,其他 table 依此类推。问题是我必须这样做数百 tables。我怎样才能使它自动化?谢谢!

您可以利用一些系统表来帮助构建此信息。但是你需要超过 3 列的数据。我将留给您来决定您希望如何显示所有这些信息。此查询将为您提供所有表和列及其可为空性和数据类型。

select TableName = t.name 
    , ColumnName = c.name 
    , DatatypeName = st.name
    , MaxLength = case when st.name in ('nchar', 'nvarchar') then c.max_length / 2 else c.max_length end
    , c.precision
    , c.scale
    , c.is_nullable
from sys.columns c
join sys.tables t on t.object_id = c.object_id
join sys.types st on st.user_type_id = c.user_type_id
order by t.name
    , c.column_id