顯示資料庫中的表結構(新增了索引及表的描述資訊)

來源:互聯網
上載者:User
SELECT
 表名=case when a.colorder=1 then d.name else '' end,
 表說明=case when a.colorder=1 then isnull(f.value,'') else '' end,
 欄位序號=a.colorder,
 欄位名=a.name,
 標識=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
 主鍵=case when exists(SELECT 1 FROM sysobjects where xtype='PK' 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(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
 允許空=case when a.isnullable=1 then '√'else '' end,
 預設值=isnull(e.text,''),
 欄位說明=isnull(g.[value],''),
 索引名稱=isnull(h.索引名稱,''),
 索引順序=isnull(h.排序,'')
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 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
 left join(--這部分是索引資訊,如果要顯示索引與表及欄位的對應關係,可以只要此部分
  select 索引名稱=a.name,c.id,d.colid
   ,排序=case indexkey_property(c.id,b.indid,b.keyno,'isdescending')
    when 1 then '降序' when 0 then '升序' end
  from sysindexes a
   join sysindexkeys b on a.id=b.id and a.indid=b.indid
   join (--這裡的作用是有多個索引時,取索引號最小的那個
    select id,colid,indid=min(indid) from sysindexkeys
    group by id,colid) b1 on b.id=b1.id and b.colid=b1.colid and b.indid=b1.indid
   join sysobjects c on b.id=c.id and c.xtype='U' and  c.name<>'dtproperties'
   join syscolumns d on b.id=d.id and b.colid=d.colid
  where a.indid not in(0,255)
 ) h on a.id=h.id and a.colid=h.colid
--where d.name='要查詢的表'    --如果只查詢指定表,加上此條件
order by a.id,a.colorder

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.