zoukankan      html  css  js  c++  java
  • 查询数据库表字段信息

    SELECT (case when a.colorder=1 then d.name else null 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.minor_id
    left join sys.extended_properties f on d.id=f.class and f.minor_id=0
    --where b.name is not null
    WHERE d.name='表名称' --如果只查询指定表,加上此条件
    order by a.id,a.colorder

    SELECT CASE WHEN col.colorder = 1 THEN obj.name
    ELSE ''
    END AS 表名,
    col.colorder AS 序号 ,
    col.name AS 列名 ,
    t.name AS 数据类型 ,
    col.length AS 长度 ,
    ISNULL(COLUMNPROPERTY(col.id, col.name, 'Scale'), 0) AS 小数位数 ,
    CASE WHEN EXISTS ( SELECT 1
    FROM dbo.sysindexes si
    INNER JOIN dbo.sysindexkeys sik ON si.id = sik.id
    AND si.indid = sik.indid
    INNER JOIN dbo.syscolumns sc ON sc.id = sik.id
    AND sc.colid = sik.colid
    INNER JOIN dbo.sysobjects so ON so.name = si.name
    AND so.xtype = 'PK'
    WHERE sc.id = col.id
    AND sc.colid = col.colid ) THEN '主键'
    ELSE ''
    END AS 主键 ,
    CASE WHEN col.isnullable = 1 THEN '是'
    ELSE '否'
    END AS 允许空 ,
    ISNULL(comm.text, '') AS 默认值
    FROM dbo.syscolumns col
    LEFT JOIN dbo.systypes t ON col.xtype = t.xusertype
    inner JOIN dbo.sysobjects obj ON col.id = obj.id
    AND obj.xtype = 'U'
    AND obj.status >= 0
    LEFT JOIN dbo.syscomments comm ON col.cdefault = comm.id
    LEFT JOIN sys.extended_properties ep ON col.id = ep.major_id
    AND col.colid = ep.minor_id
    AND ep.name = 'MS_Description'
    LEFT JOIN sys.extended_properties epTwo ON obj.id = epTwo.major_id
    AND epTwo.minor_id = 0
    AND epTwo.name = 'MS_Description'
    WHERE obj.name in (SELECT name FROM SysObjects Where XType='U' )--表名


    SELECT
    a.colorder 序号,
    a.name 字段名,
    isnull(g.[value], ' ') AS 字段名称,
    b.name 类型,
    (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) 主键,
    (case when a.isnullable=1 then '是'else '否' end) 允许空,
    '' 备注
    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
    WHERE d.name='ReturnStatus' --如果只查询指定表,加上此条件
    order by a.id,a.colorder

  • 相关阅读:
    OnMeasureItem和OnDrawItem的区别和联系
    DockPanel 类
    C# 源码 AForge.NET
    ystem.Windows.Forms.SplitContainer : ContainerControl, ISupportInitialize
    System.Windows.Forms.Control : Component, IOleControl, IOleObject, IOleInPlaceObject, IOleInPlaceActiveObject....
    System.ComponentModel.Component : MarshalByRefObject, IComponent, IDisposable
    System.Windows.Forms.ListView : Control
    vs2013 密钥_
    系统封装 EasyBoot如何将WIN7安装版提取到光盘
    系统封装 ES3使用方法
  • 原文地址:https://www.cnblogs.com/niuniu0108/p/9753633.html
Copyright © 2011-2022 走看看