zoukankan      html  css  js  c++  java
  • 查询SQL SERVER表结构信息

    例子:

    SELECT a.name,b.name,a.length,e.text FROM syscolumns a
    left join systypes b on a.xusertype=b.xusertype
    left join syscomments e on a.cdefault=e.id
    WHERE a.id=object_id('table1') ORDER BY a.colid

    SQL Server数据库中表结构信息

    SELECT 
      表名  = case when a.colorder=1 then d.name else '' end,
      表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end,
      字段名 = a.name,
      主键  = case when exists(Select 1 FROM sysobjects where xtype='PK' and parent_obj=a.id and name in (
            Select name FROM sysindexes Where indid in(
             Select indid FROM sysindexkeys Where id = a.id AND colid=a.colid))) then '√' else '' end,
      类型  = b.name,
      占用字节数 = a.length,
      长度  = COLUMNPROPERTY(a.id,a.name,'PRECISION'),
      默认值 = isnull(e.text,''),
      字段说明= isnull(g.[value],'')
    FROM 
      syscolumns a
      left join systypes b on a.xusertype=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 sysproperties g on a.id=g.id and a.colid=g.smallid  
      left join sysproperties f on d.id=f.id and f.smallid=0
    WHERE d.name='your_table_name' --仅查询指定表时需要该行
        
      获取表内所有字段:

      SELECT name FROM syscolumns WHERE id=object_id('table1') ORDER BY colid

      列出库my中所有的用户建立的表名:

      SELECT * FROM my.dbo.sysobjects WHERE xtype='U' and status>0

      列出表cs的所有属性:

      SELECT * FROM sysobjects WHERE parent_obj = object_id( 'cs')

    下边是关于sysobjects的介绍

      经常我们要查询表的索引,约束,相关性,触发器的属性,那么要知道sysobjects这个表的字段的意思,那么不管要查什么都没有问题!

      Sysobjects:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。 
      Name,id,xtype,uid,status:分别是对象名,对象ID,对象类型,所有者对象的用户ID,对象状态。 
      xtype:对象类型。可以是下列对象类型中的一种: 
       C = CHECK 约束 
       D = 默认值或 DEFAULT 约束 
       F = FOREIGN KEY 约束 
       L = 日志 
       FN = 标量函数 
       IF = 内嵌表函数 
       P = 存储过程 
       PK = PRIMARY KEY 约束(类型是 K) 
       RF = 复制筛选存储过程 
       S = 系统表 
       TF = 表函数 
       TR = 触发器 
       U = 用户表 
       UQ = UNIQUE 约束(类型是 K) 
       V = 视图 
       X = 扩展存储过程 
      当xtype='U' and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值。

  • 相关阅读:
    js 闭包
    js 图片放大镜功能
    前端页面优化
    css 背景图片自适应分辨率大小 兼容
    纯css实现箭头
    js 排序算法
    css3 渐变 兼容
    css 兼容性总结
    css3 @keyframe 抖动/变色动画
    关于$.data(element,key,value)与ele.data.(key,value)的区别
  • 原文地址:https://www.cnblogs.com/oisiv/p/2441994.html
Copyright © 2011-2022 走看看