sql server 查询表字段信息

1、下面查询所有表的结构
注意,这里要加一个条件:SO.status >= 0,否则会将系统的临时表显示出来

SELECT     

    SO.name 表名,
    SC.name 表列名,
    SC.colid 索引,
    ST.name 类型
 FROM       
    sysobjects   SO, -- 对象表
    syscolumns   SC, -- 列名表
    systypes     ST  -- 数据类型表 
 WHERE        
   SO.id = SC.id 
   AND   SO.xtype = 'U'    -- 类型U表示表,V表示视图
   AND   SO.status >= 0
   AND   SC.xtype ST.xusertype

 ORDER BY  

   SO.name, SC.colorder         -- 按表名、列名排序

2、下面查询某张特定表的结构

 SELECT     

     SO.name 表名,
    SC.name 表列名,
    SC.colid 索引,
    ST.name 类型
 FROM
       
    sysobjects   SO, -- 对象表

     syscolumns   SC, -- 列名表
     systypes     ST  -- 数据类型表 
 WHERE        
    SO.id =
 SC.id 
    AND   SO.xtype = 'U'                   -- 类型U表示表,V表示视图

    AND   SO.status >= 0                  -- status >= 为非系统对象
    AND   SC.xtype = ST.xusertype
    AND   SO.name = 'T_Employee'  -- 某张特定表

 ORDER BY  

    SO.name, SC.colorder         -- 按表名、列名排序

3、如果要查看视图信息,只需要将SO.xtype = 'U'该为SO.xtype = 'V' 即可!

 

 

SQL Server所有表的列信息展示

  1. SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name,  
  2. SysTypes.Name as col_type, SysColumns.Length as col_len, isnull  
  3. (SysProperties.Value,SysColumns.Name) as col_memo,  
  4. case when SysColumns.name in  
  5. (select 主键=a.name  
  6. FROM syscolumns a  
  7. inner join sysobjects b on a.id=b.id and   
  8. b.xtype='U' and b.name<>'dtproperties'  
  9. where exists(SELECT 1 FROM sysobjects where xtype='PK' and name in (  
  10. SELECT name FROM sysindexes WHERE indid in(  
  11. SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid  
  12. )))  
  13. and b.name=SysObjects.Name  
  14. )  
  15. then 1 else 0 end as is_key  
  16. FROM SysObjects,SysTypes,SysColumns  
  17. LEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND  
  18. Syscolumns.Colid = Sysproperties.Smallid)  
  19. WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v')  
  20. AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType  
  21. AND SysTypes.Name <> 'sysname' AND Sysobjects.  
  22. Name Like '%' ORDER By SysObjects.Name, SysColumns.colid  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值