查询数据库所有(某个)表中字段名,数据类型,说明等,导出数据字典

 --查询数据库导出数据字典:

-- 数据字典
SELECT
        (case when a.colorder=1 then d.name else '' end)表名,
        a.colorder 字段序号,
        a.name 字段名,
        --(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
       (case when (SELECT count(*)
        FROM sysobjects
        WHERE (name in
                (SELECT name
                FROM sysindexes
                WHERE (id = a.id) AND (indid in
                         (SELECT indid
                        FROM sysindexkeys
                        WHERE (id = a.id) AND (colid in
                                  (SELECT colid
                                 FROM syscolumns
                                 WHERE (id = a.id) AND (name = a.name))))))) AND
            (xtype = 'PK'))>0 then '√' else '' end) 主键,
       b.name 类型,
       --a.length 占用字节数,
      COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
      --isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,
      (case when a.isnullable=1 then '√'else '' end) 允许空,
      isnull(e.text,'') 默认值,
      isnull(g.[value],'') AS 字段说明
FROM  syscolumns  a left join systypes b
on  a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id  and  d.xtype='U' and  d.name<>'dtproperties'
left join syscomments e
on a.cdefault=e.id
left join sys.extended_properties g
on a.id=g.major_id AND a.colid = g.major_id
order by a.id,a.colorder,表名

 

--查询数据库所有表结构

SELECT (case when a.colorder=1 then d.name else null end) 表名,
a.colorder 字段序号,a.name 字段名,
isnull(g.[value], ' ') AS [说明]
FROM syscolumns a
left join systypes b on a.xtype=b.xusertype
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e on a.cdefault=e.id
left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
left join sys.extended_properties f on d.id=f.class and f.minor_id=0
where b.name is not null
order by a.id,a.colorder

--查询某个表
SELECT a.name as FieldCode,'T_EXEntryHead' TableName,isnull(g.[value], ' ') FieldName FROM syscolumns a
inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join sys.extended_properties g on a.id=g.major_id AND a.colid=g.minor_id
where d.name = 'T_EXEntryHead' --表名

order by a.id,a.colorder

posted on 2015-02-02 17:37  小呀么小二郎  阅读(272)  评论(0编辑  收藏  举报

导航